Gmail 的 IMAP、POP 和 SMTP

您可以使用标准 IMAP 和 POP 协议将第三方电子邮件客户端和应用连接到 Gmail 以接收邮件,并使用 SMTP 协议发送邮件。这三个服务器都支持使用 OAuth 2.0 进行身份验证和授权。

身份验证协议

IMAP、POP 和 SMTP 使用标准的简单身份验证和安全层 (SASL),通过内置的 IMAP AUTHENTICATE、POP AUTH 和 SMTP AUTH 命令对用户进行身份验证。SASL XOAUTH2 格式使客户端能够提供 OAuth 2.0 凭据进行身份验证。SASL XOAUTH2 协议文档详细介绍了 SASL XOAUTH2 格式,并且提供了实现该协议的 OAuth 2.0 库和示例。

服务器地址和端口

使用以下服务器地址和端口接收和发送邮件:

协议 方向 服务器地址 端口 加密
IMAP 传入(接收) imap.gmail.com 993 隐式 SSL/TLS
POP 传入(接收) pop.gmail.com 995 隐式 SSL/TLS
SMTP 传出(发送) smtp.gmail.com 465 隐式 SSL/TLS
SMTP 传出(发送) smtp.gmail.com 587 TLS (STARTTLS)

与 imap.gmail.com:993 和 pop.gmail.com:995 的传入连接以及与 smtp.gmail.com:465 的传出连接都需要隐式 SSL/TLS。如果您的 SMTP 客户端在发出 STARTTLS 命令以升级连接之前以纯文本开头,请使用 smtp.gmail.com:587。

使用 smtp.gmail.com 代表经过身份验证的用户从电子邮件客户端或应用发送邮件。如果您是 Google Workspace 管理员,并且要从本地服务器、打印机、扫描仪或应用(例如使用 smtp-relay.gmail.com)路由外发邮件,请参阅从打印机、扫描仪或应用发送电子邮件。

会话时长限制

Gmail POP 会话最长可持续约 7 天。 Gmail IMAP 会话最长可持续约 24 小时。如果您使用 OAuth 凭证对会话进行了身份验证,则会话的持续时间大约为所用访问令牌的有效期(通常为 1 小时)。此上下文中的会话是一个连续的传输控制协议 (TCP) 连接。

当时间过去且会话过期时,Gmail 会关闭连接,并显示一条消息,指出会话已过期。之后,客户端可以重新连接、再次进行身份验证并继续。如果使用 OAuth 2.0,请确保所使用的访问令牌有效。如果您尝试使用超过 1 小时的访问令牌,该令牌可能无效。

发送和带宽限制

为保证系统正常运行和账号安全,Gmail 会在 24 小时滚动周期内强制执行每日邮件发送和带宽限制。您每天最多可以从付费 Google Workspace 账号发送 2,000 封邮件,从 Google Workspace 试用账号或个人 Gmail 账号发送 500 封邮件,通过 POP 或 IMAP 客户端使用 SMTP 发送的每封邮件最多可以有 100 位收件人。这些限制是针对每个用户的,由访问该账号的所有客户端共享。如需了解完整详情,请参阅:

库和示例

为方便起见,开发者通常会使用 IMAP 或 POP 访问邮件,并使用 SMTP 以及现有的 IMAP 和 SMTP 库发送邮件。只要这些库支持 SASL,它们就应该与 Gmail 支持的 SASL XOAUTH2 格式兼容。

除了 SASL XOAUTH2 协议文档之外,您可能还需要阅读使用 OAuth 2.0 访问 Google API,详细了解如何实现 OAuth 2.0 客户端。

OAuth 2.0 库和示例页面提供了多种常用语言的代码示例,这些示例使用 SASL XOAUTH2 格式以及 IMAP 或 SMTP。