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) 身份验证?

如何“请进行人机身份验证”.在谷歌学术中进行搜索,显示“请进行人机身份验证”啥意思?如何验证呢。