您可以使用标准 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 位收件人。这些限制是针对每个用户的,由访问该账号的所有客户端共享。如需了解完整详情,请参阅:
- Google Workspace 中的 Gmail 发信上限
- 收发邮件的限制(个人 Gmail 账号)
- Gmail 带宽限制
库和示例
为方便起见,开发者通常会使用 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。