To 郑志强cs 收到你的信了 上来找到了这个问题 :)
你要查的RFC相关文档应该是 RFC1425 这是 SMTP扩展部分的讲解
具体可能还涉及到 RFC1426和RFC1427
你说的使用Auth login Sina 没有反应可能Sina没有SMTP认证吧 我没有试
我试了一下263的 下面是一次成功的通信过程,我将具体讲解一些相关的详细规则。
S Server C Client
S: 220 smtp.263.net ESMTP
C: helo smtp.263.net
S: 250 smtp.263.net
C: auth LOGIN/TE9HSU4= (该参数指出了验证方式,这里为LOGIN)
S: 334 VXNlcm5hbWU6(如果服务器不支持这种方式会返回504或者503,334表示支持。同时后面的字符串是问你“username:”
C: eGZ0YW5n(Tintin来啦)
S: 334 UGFzc3dvcmQ6(你的密码password:)
C: EE UGFzc3dvcmQ6(我的密码,这里显然是假的)
S: 235 Authentication successful (你通过了)
C: mail from: Tintin2000@23.net (下面让我们来试试看)
S: 553 You are not authorized to send mail as <Tintin2000@23.net>
C: mail from: <Tintin2000@263.net>
S: 250 Ok
rcpt to: <Tintin2000@263.net>
250 Ok(全通过了)
我这里举出的是263的SMTP服务器所使用的验证方法,实质上验证方法可以有很多中的,
如CRAM-MD5、DIGEST-MD5等等。
另外,在ESMTP中对于Agent可以直接在Mail From指令中指定参数进行身份验证,
这样虽然可以剩下一点通信时间,但是Mail From指令会由于参数太多而变得非常庞大,
甚至会超出500字符的限制,很不灵活,不推荐使用。