ehlo是对helo的扩展,即extend helo,可以支持authorization,即用户认证。下面我们通过一个例子来解释一下ehlo的用法:
[lyychee@mysun ~]# telnet smtp.mysun.org 25 // telnet到邮件服务器的25端口 Trying 172.18.250.250... Connected to smtp.mysun.org (172.18.250.250). Escape character is '^]'. 220 Welcome to my smtp server(EQManager V3.5) ESMTP ehlo // 用ehlo申明,表示自己需要身份验证 250-Welcome to my smtp server(EQManager V3.5) 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-PIPELINING 250-SIZE 10485760 250 8BITMIME auth login // 用这个命令表示身份验证开始 334 VXNlcm5hbWU6 // 这句是服务器返回的,是base64编码过的“user” emhhbmd4aW5qaQ== // 你的用户名经过base64编码的串 334 UGFzc3dvcmQ6 // 这句也是服务器返回的,是是base64编码过的“pass” ******* // 密码,也要经过base64编码 235 ok, go ahead (#2.0.0) mail from:zhangxinji@mysun // 声明邮件来源email地址 // 为了防止被发垃圾邮件,去掉了域名的后半段 250 ok rcpt to:lyychee@citiz // 声明邮件目的email地址 // 为了防止被发垃圾邮件,去掉了域名的后半段 250 ok data // 邮件开始 354 go ahead subject:Test Mail // 主题 from:zhangxinji@mysun // 在邮件头中声明邮件来源(仅在outlook或foxmail中显示,跟真实的投递无关) // 比如你rcpt给了lyychee@citiz,在这里你完全可以写eehcyyl@citiz,信还是会被投到lyychee to:lyychee@citiz // 这个也是仅现实邮件目的地址 // 中间要留空一行,对邮件头跟邮件内容加以区分。 |
|