我正在尝试使用LOGIN身份验证机制对GMail SMTP Server进行身份验证。 AUTH LOGIN在EHLO命令的响应中被公布为支持,但是当我尝试将AUTH LOGIN发送到服务器时,我得到“504 5.7.4无法识别的身份验证类型”响应。这是服务器和客户端之间的对话框:
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
我在这里做错了吗?
答案 0 :(得分:1)
首先使用STARTTLS,取消安全交换SSL或TLS,然后调用EHLO然后你可以使用PLAIN和LOGIN机制
答案 1 :(得分:1)
我发现的是,一旦我使用“AUTH LOGIN base64username”,这实际上不是LOGIN应该如何工作,它实际上似乎有效:
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