全部博文(252)
分类:
2009-06-09 16:07:43
EHLO 250-SMTP.Mydomain.com Hello [192.168.0.1] 250-8bitmime 250-BINARYMIME 250-VRFY 250-AUTH LOGIN PLAIN CRAM-MD5 250-AUTH=LOGIN 250 OK |
>:auth login ---进行用户身份认证 <:334 VXNlcm5hbWU6 ---BASE64编码“Username:” >:Y29zdGFAYW1heGl0Lm5ldA== ----发送BASE64编码的用户名 <:334 UGFzc3dvcmQ6 ---BASE64编码"Password:" >:MTk4MjIxNA== ---客户端发送BASE64编码的密码 <:235 auth successfully ---成功 |
PLAIN方式
基于明文的SMTP验证,详见:
其发送用户名与口令的格式应该是“
CRAM-MD5方式
CRAM-MD5即是一种Keyed-MD5验证方式,CRAM是“Challenge-Response Authentication Mechanism”的所写。所谓Keyed-MD5,是将Clieng与Server共享的一个Key作为一部分MD5的输入,正好邮件系统的用户口令可以作为这个Key。具体的交互如下:
S: * OK IMAP4 Server
C: A0001 AUTHENTICATE CRAM-MD5
S: + PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ+ -------- Server发送BASE64编码的Timestamp、Hostname等给Client
C: dGltIGI5MTNhNjAyYzdlZGE3YTQ5NWI0ZTZlNzMzNGQzODkw ------- Client将收到的信息加上用户名和口令,编码为BASE64发送给Server
S: A0001 OK CRAM authentication successful ----------- Server使用该用户的口令进行MD5运算,如果得到相同的输出则认证成功
=============================================================
向支持匿名转发的邮件服务器发送邮件的过程:
HELO localhost
mail from:a@a.com 来自哪里
rcpt to:target@263.net 发给谁
data
输入信体内容。回车.结束
bye 退出
向验证邮件服务器发送邮件的过程:
HELO localhost
auth login
Y29zdGFAYW1heGl0Lm5ldA 用户名
Y29zdGFAYW 密码
mail from:a@a.com 来自哪里
rcpt to:target@263.net 发给谁
data
输入信体内容。回车.结束
bye 退出
-----------------------
还要验看证服务器支持哪种验证方式,实际上验证服务器就是加了一个登录过程,没有此服务器用户就不给转发邮件。