Gmail 使用啥机制进行用户身份验证?
Posted
技术标签:
【中文标题】Gmail 使用啥机制进行用户身份验证?【英文标题】:What mechanism does Gmail use for user authentication?Gmail 使用什么机制进行用户身份验证? 【发布时间】:2011-10-10 20:26:33 【问题描述】:我想在 Gmail SMTP 服务器上使用我的 Gmail ID 和密码进行身份验证。我正在使用 GSASL 库。我有一组我的客户支持的机制:匿名、外部、登录、普通、SecureID、Digest-MD5 和 CRAM-MD5。有人知道 Gmail 使用哪种机制进行用户身份验证吗?
【问题讨论】:
你在找这个吗? mail.google.com/support/bin/answer.py?answer=78799(我的邮件客户端似乎在 SSL 连接上使用“普通”) 不,它有什么不同。我正在编写我的 API 来验证 gmail SMTP 服务器上的用户。 现在我很困惑。您是否对 GoogleMail 的 SMTP 服务器进行身份验证? (似乎是这样)您是否在问使用什么机制对 SMTP 服务器进行身份验证? (好像是这样)那样的话,这句话怎么不适用? “外发邮件 (SMTP) 服务器 - 需要 TLS:smtp.gmail.com(使用身份验证)使用身份验证:是使用 STARTTLS:是(某些客户端称此 SSL)端口:465 或 587” - 本例中的身份验证为“普通" 是 'Googlemail' 的 SMTP 服务器。我的错误我应该早点提到。 那么确实 STARTTLS 和 AUTH PLAIN 是您正在寻找的(如链接文档中所述) 【参考方案1】:引用谷歌的documentation for authenticating to GMail's SMTP:
外发邮件 (SMTP) 服务器 - 需要 TLS:smtp.gmail.com(使用身份验证) 使用身份验证:是 使用 STARTTLS:是(某些客户端称其为 SSL) 端口:465 或 587
这种情况下的身份验证是“普通”。
【讨论】:
【参考方案2】:Mail Sender: SMTP
SMTP Server: smtp.gmail.com
Authentication: LOGIN
User: yourzuser@gmail.com
Pass: gess???
security: TLS
port: 587
至少这对我有用:D欢呼
【讨论】:
【参考方案3】:要了解 SMTP 服务器支持哪些身份验证机制,请发送 EHLO
命令。如果您还没有构建自己的 SMTP 客户端,可以使用 TELNET 进行测试。服务器将使用它支持的 ESMTP 扩展进行响应,包括 AUTH。比如你发送EHLO
命令到smtp.gmail.com,你会发现它目前支持4种机制:
SERVER: 220 mx.google.com ESMTP c10sm612924yhk.4
CLIENT: EHLO AR93684-PC.local
SERVER: 250-mx.google.com at your service, [75.189.236.125]
SERVER: 250-SIZE 35882577
SERVER: 250-8BITMIME
SERVER: 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2
SERVER: 250 ENHANCEDSTATUSCODES
因此,您的问题的答案是 Login、Plain、XOAuth 和 XOAuth2。
请注意,XOAuth 已被弃用,取而代之的是 XOAuth2:https://developers.google.com/accounts/docs/OAuth2
【讨论】:
以上是关于Gmail 使用啥机制进行用户身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
我应该使用哪个 Java 库通过 Facebook、Gmail、本地身份验证等进行身份验证?
多个用户如何在 Node.js 中使用 Gmail 别名发送电子邮件,而无需 Google 开发人员控制台对每个用户进行用户身份验证?
如何使用 Twisted 通过 OAuth2.0 身份验证检查 Gmail
如何在没有手动浏览器身份验证的情况下从 Meteor.js 应用程序对 GMail-api 进行 oauth (2) 身份验证?