IMAP、POP 和 SMTP
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
对于非 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 或 POP 访问邮件以及使用 SMTP 发送邮件通常使用现有的 IMAP 和 SMTP 库完成。只要这些库支持简单身份验证和安全层 (SASL),它们就应该与 Gmail 支持的 SASL XOAUTH2 机制兼容。
除了 SASL XOAUTH2 协议文档之外,您可能还需要阅读使用 OAuth 2.0 访问 Google API,了解有关实施 OAuth 2.0 客户端的详细信息。
库和示例页面提供了将 SASL XOAUTH2 机制与 IMAP 或 SMTP 搭配使用的各种常用语言的代码示例。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-08。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-08-08\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-08-08。"]]