SMTP协议解析

25端口

SMTP的连接和发送过程

(a)建立TCP连接

(b)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;

         服务器端正希望以OK作为响应,表明准备接收

(c)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;

         服务器端则表示是否愿意为收件人接收邮件

(d)协商结束,发送邮件,用命令DATA发送

(e)以.表示结束输入内容一起发送出去

(f)结束此次发送,用QUIT命令退出

SMTP常用的命令

SMTP命令不区分大小写,但参数区分大小写。常用命令如下:

HELO ——向服务器标识用户身份发送者能欺骗、说谎,但一般情况下服务器都能检测到

RCPT TO: ——用来标志邮件接收者的地址,常用在MAIL FROM后,可以有多个RCPT TO

DATA ——将之后的数据作为数据发送,以.标志数据的结尾

REST ——重置会话,当前传输被取消

NOOP ——要求服务器返回OK应答,一般用作测试

QUIT ——结束会话

VRFY ——验证指定的邮箱是否存在,由于安全方面的原因,服务器大多禁止此命令

EXPN ——验证给定的邮箱列表是否存在,由于安全方面的原因,服务器大多禁止此命令

HELP ——查询服务器支持什么命令

SMTP常用的响应

501——参数格式错误

502——命令不可实现

503——错误的命令序列

504——命令参数不可实现

211——系统状态或系统帮助响应

214——帮助信息

220——服务器就绪

221——服务关闭

421——服务器未就绪,关闭传输信道

250——要求的邮件操作完成

251——用户非本地,将转发向

450——要求的邮件操作未完成,邮箱不可用

550——要求的邮件操作未完成,邮箱不可用

451——放弃要求的操作,处理过程中出错

551——用户非本地,请尝试

452——系统存储不足,要求的操作未执行

552——过量的存储分配,要求的操作未执行

553——邮箱名不可用,要求的操作未执行

354——开始邮件输入,以“.”结束

554——操作失败

猜你喜欢

转载自blog.csdn.net/jpmsdn/article/details/86297973