对于非 Gmail 客户端,Gmail 支持标准 IMAP、POP 和 SMTP 协议。Gmail IMAP、POP 和 SMTP 服务器已经过扩展,可支持通过业界标准的 OAuth 2.0 协议进行授权。
协议
IMAP、POP 和 SMTP 通过标准的简单身份验证和安全层 (SASL) 以及内置的原生 IMAP AUTHENTICATE
、POP AUTH
和 SMTP AUTH
命令对用户进行身份验证。SASL XOAUTH2 机制使客户端能够提供 OAuth 2.0 凭据进行身份验证。SASL XOAUTH2 协议文档详细介绍了 SASL XOAUTH2 机制,并且提供了已实现该协议的库和示例。
到位于 imap.gmail.com:993
的 IMAP 服务器和位于 pop.gmail.com:995
的 POP 服务器的传入连接需要符合 SSL 规定。传出 SMTP 服务器 smtp.gmail.com
支持 TLS。如果您的客户端以纯文本开头,在发出 STARTTLS 命令之前,请使用端口 465
(用于 SSL)或端口 587
(用于 TLS)。
会话时长限制
Gmail POP 会话限制为约 7 天。Gmail IMAP 会话有大约 24 小时的时间。如果会话是使用 OAuth 凭据进行身份验证的,则该会话会受所用访问令牌的有效期(通常为 1 小时)的限制。此上下文中的会话是指连续的 TCP 连接。
达到指定时间后,如果会话过期,Gmail 会关闭连接,并显示会话已过期的消息。之后,客户端可以重新连接、重新进行身份验证并继续。如果使用 OAuth,请确保使用的访问令牌有效(如果您尝试使用超过 1 小时的访问令牌,则令牌可能无效)。
库和示例
为方便起见,通常使用现有的 IMAP 和 SMTP 库通过 IMAP 或 POP 访问邮件以及使用 SMTP 发送邮件。只要这些库支持简单身份验证和安全层 (SASL),就应该与 Gmail 支持的 SASL XOAUTH2 机制兼容。
除了 SASL XOAUTH2 协议文档之外,您可能还需要阅读使用 OAuth 2.0 访问 Google API,详细了解如何实现 OAuth 2.0 客户端。
库和示例页面提供了各种常用语言的代码示例,并使用 SASL XOAUTH2 机制与 IMAP 或 SMTP。