smtp协议用于实现电子邮件的发送和接收,smtp邮件协议
玉荣
250-SMTP。Mydomain.com你好
250-8位mime
250-二进制MIME
250-VRFY
250-授权登录普通CRAM-MD5
250-AUTH=登录
250好的
认证过程(登录模式)
:authlog in-用户身份验证
:334VXN LCM5 HBWU6-base64编码“用户名:”
:Y29zdGFAYW1heGl0Lm5ldA==-发送BASE64编码的用户名
:334 UGFzc3dvcmQ6 - BASE64代码“密码:”
:MTk4MjIxNA==-客户端发送BASE64编码的密码。
:235验证成功-成功的普通方式
有关基于明文的SMTP认证的详细信息,请参见:3358 www.ietf.org/internet-drafts/draft-ietf-sasl-plain-08.txt。
发送用户名和密码的格式应为“NULL tim NULL tanstaaftanstaaf”。“tim”是用户名,后面的字符串是密码,NULL是ASCII 0(所以不能通过telnet登录)。
CRAM-MD5模式
CRAM-MD5是一种Keyed-MD5认证方法,CRAM是用“挑战-响应认证机制”编写的。所谓Keyed-MD5是指Clieng和Server共享的一个密钥,作为MD5输入的一部分,就像邮件系统的用户密码可以作为这个密钥一样。具体交互如下:
S: *正常的IMAP4服务器
C: A0001认证CRAM-MD5
s:PDE 4 otyun JK 3 mtcwotuyqhbvc 3 rvzzpy 2 ucmvzdg 9 ulm 1 jas 5 UZXQ-服务器向客户端发送BASE64编码的时间戳和主机名。
c:dgltigi 5 MTN hjayyzdlzge 3 ytq 5 nwi 0 ztz lnzmzgqzodkw——客户端将收到的信息,加上用户名和密码,作为BASE64发送给服务器。
S: a0001 ok cram认证成功——服务器使用该用户的密码进行MD5运算,如果得到相同的输出,则认证成功。
=============================================================
将邮件发送到支持匿名转发的邮件服务器的过程:
HELOlocalhost
mailfrom:a@a.com来自哪里?
rcptto:target@263.net把它寄给谁了?
数据
输入消息内容。进入。目标
再见辞职
验证向邮件服务器发送邮件的过程:
HELOlocalhost
授权登录
Y29zdGFAYW1heGl0Lm5ldA用户名
Y29zdGFAYW密码
mailfrom:a@a.com来自哪里?
rcptto:target@263.net把它寄给谁了?
数据
输入消息内容。进入。目标
再见辞职
-
还需要检查认证服务器支持哪种认证方法。其实认证服务器增加了一个登录过程,没有这个服务器用户是不会转发邮件的。
基准地址
http://www.sysmgmt.com.cn/article.asp?id=20
http://www.cnpaf.net/Class/SMTP/0610819014925069617.html