[root@XXX]# telnet localhost 25
1)HELOsmtp.com -------------- 客户端:服务器你好(客户端发起连接)
2)250smtp.com -------------- 服务器:客户端你好
3)authlogin -------------------------------- 客户端:请求使用认证
4)334VXNlcm5hbWU6 ------------------- 服务器:username:(经过base64加密的)
5)xxxxx -------------------------------- 客户端:用户名(base64加密的用户名o)
6)334UGFzc3dvcmQ6 --------------------- 服务器:password:(经过base64加密)
7)xxxxxx ---------------------------客户端:密码(base64加密的密码)
8)235Authentication successful --------- 服务器:认证成功
9)MAILFROM:XXX@test .COM --------- 客户端:发件地址XXX@test .COM
10)250 MailOK ---------------------------服务器:了解了
11)RCPT TO:X@ testc.om --------- 客户端:可愿发件给X@ test.com?
12)250 MailOK ---------------------------服务器:我愿意
13)DATA --------------------------------------- 客户端:我要发送正文了。(以.作为结束符)
14)250 Ok:queued as B312846AB8 --- 服务器:看到回车+.+回车了,认为发送完毕
15)QUIT -------------------------------------- 客户端:会话结束
16)221 Bye ------------------------------- 服务器:Finished
注意:
(1)以上是实际通过telnet命令发送邮件的过程,如果开启了sasl认证,则从第3)到 第8)可以实施,如果未开启SASL,则第3)到第8)不能使用;
(2)通过HELO命令可以换成EHLO命令。两者都是客户端向服务器发起hello;
(3)如果使用EHLO命令,则可以从回馈信息中明确得知是否使能了“STARTTLS”;
(4)第3步是客户端可选择性的,并非强制认证,即:可以从第2)直接进入到第 9)
(5)在第13)之后,输入数据时候,如果有需要可以按照如下格式:
subject:test
from:ABC
to:123
正文
.