GMail身份验证登录SMTP身份验证

GMail身份验证登录SMTP身份验证,smtp,gmail,Smtp,Gmail,我正在尝试使用登录身份验证机制对GMail SMTP服务器进行身份验证。在对EHLO命令的响应中,AUTH LOGIN被公告为受支持,但是当我尝试将AUTH LOGIN发送到服务器时,会得到“504 5.7.4 Unrecogned Authentication Type”响应。以下是服务器和客户端之间的对话框: S: 220 mx.google.com ESMTP d9sm13589149wiy.2 C: EHLO client S: 250-mx.google.com at your ser

我正在尝试使用登录身份验证机制对GMail SMTP服务器进行身份验证。在对EHLO命令的响应中,AUTH LOGIN被公告为受支持,但是当我尝试将AUTH LOGIN发送到服务器时,会得到“504 5.7.4 Unrecogned Authentication Type”响应。以下是服务器和客户端之间的对话框:

S: 220 mx.google.com ESMTP d9sm13589149wiy.2
C: EHLO client
S: 250-mx.google.com at your service, [x.x.x.x]
S: 250-SIZE 35882577
S: 250-8BITMIME
S: 250-AUTH LOGIN PLAIN XOAUTH
s: 250 ENHANCEDSTATUSCODES
C: AUTH LOGIN
S: 504 5.7.4 Unrecognized Authentication Type d9sm13589149wiy.2

我在这里做错了什么吗?

首先使用STARTTLS,协商安全交换SSL或TLS,然后调用EHLO,然后您可以,我猜,使用简单的登录机制。我发现,一旦我使用了“AUTH LOGIN base64username”,这并不是真正的登录应该如何工作,它实际上似乎可以工作:

S: 220 mx.google.com ESMTP n3sm42168657wiz.9
C: EHLO client
S: 250-mx.google.com at your service, [x.x.x.x]
S: 250-SIZE 35882577
S: 250-8BITMIME
S: 250-AUTH LOGIN PLAIN XOAUTH
S: 250 ENHANCEDSTATUSCODES
C: AUTH LOGIN base64username
S: 334 UGFzc3dvcmQ6
C: base64password
S: 235 2.7.0 Accepted

你的正确性来源是什么?我不认为AUTH登录会成为RFC本身,只看到Cyrus(?)的草稿和Microsoft的扩展规范。(Microsoft添加了您注意到的AUTH LOGIN username功能。)听起来Google当然应该支持AUTH LOGIN(没有用户名),但它看起来没有人们想象的那么清晰。@EdwardThomson-好吧,Cyrus的RFC草稿是我见过的关于登录验证的唯一参考。我想你指的是微软的扩展。如果是,那就完美地回答了我的问题!是的,但我对微软文档的阅读清楚地表明,gmail应该支持“AUTH-LOGIN”和“AUTH-LOGIN-username”。@EdwardThomson——这也是我所期望的。但如果我尝试通过Telnet进行身份验证登录,gmail会拒绝带有“504 Unrecogned Authentication Type”的命令。由于TLS,我看不到Outlook和gmail MTA之间到底发生了什么。截至2012年1月,AUTH LOGIN按预期工作。谷歌的服务器响应334 VXNlcm5hbWU6。一旦给出用户名(base64编码),它就会用334 UGFzc3dvcmQ6响应。如果给出了正确的密码(也是base64编码的),它将以接受235 2.7.0作为响应。那可能是您遇到的临时编程错误?