SMTP协议

SMTP协议命令

  SMTP命令是发送于SMTP主机之间的ASCⅡ信息,可能使用到的命令如下表所示。
  SMTP协议命令
  
命令 描述
DATA 开始信息写作
EXPN<string> 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用
HELO<domain> 向服务器标识用户身份,返回邮件服务器身份
HELP<command> 查询服务器支持什么命令,返回命令中的信息
MAIL FROM<host> 在主机上初始化一个邮件会话
NOOP 无操作,服务器应响应OK
QUIT 终止邮件会话
RCPT TO<user> 标识单个的邮件接收人;常在MAIL命令后面可有多个rcpt to:
RSET 重置会话,当前传输被取消
SAML FROM<host> 发送邮件到用户终端和邮箱
SEND FROM<host> 发送邮件到用户终端
SOML FROM<host> 发送邮件到用户终端或邮箱
TURN 接收端和发送端交换角色
VRFY<user> 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令

SMTP协议工作原理

  SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器:二是从某一个服务器传输到另一个服务器。SMTP也是个请求/响应协议,命令和响应都是基于ASCⅡ文本,并以CRLF符结束。响应包括一个表示返回状态的三位数字代码。SMTPTCP协议25号端口监听连续请求。
  连接和发送过程如下:
  (1)建立TCP 连接。
  (2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端正希望以OK作为响应,表明准备接收。
  (3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。
  (4)协商结束,发送邮件,用命令DATA发送。
  (5)以“.”号表示结束输入内容一起发送出去,结束此次发送,用QUIT命令退出。
原文地址:https://www.cnblogs.com/kelin1314/p/1775622.html