2024年6月12日发(作者:)

SMTP的认证-EHLO的使用

ehlo是对helo的扩展,即extend helo,可以支持authorization,即用户认证。下

面我们通过一个例子来解释一下ehlo的用法:

[lyychee@mysun ~]# telnet 25

// telnet到邮件服务器的25端口

Trying 172.18.

Connected to (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

// 这个也是仅现实邮件目的地址

// 中间要留空一行,对邮件头跟邮件内容加以区分。

Mail Context

// 以上是邮件内容,可以是多行。

.

// “.”号表示邮件主体的结束。

250 ok 1184307659 qp 11843 (eqmail)

quit

// 请求与服务器断开链接

221 Welcome to my smtp server(EQManager V3.5)

Connection closed by foreign host.

// 邮件发送过程完成。