SMTP协议

参考RFC5321

SMTP协议是工作在两种情况下:

  • 电子邮件从客户机传输到服务器(发信);
  • 从某一个服务器传输到另一个(转发)。

SMTP工作流程:

  1. SMTP客户端和SMTP服务器建立TCP连接,客户端发起连接请求。
  2. 连接建立后,服务器向客户发送响应报文,其应答码为220,表示服务准备就绪。
  3. 客户端收到响应报文后,发送HELO命令,启动客户端和服务器直间的SMTP会话。
  4. 服务器发送响应报文,其应答码是250,通知客户端:请求建立的邮件服务会话已经实现。
  5. 服务器发送应答码334,等待用户输入验证信息;用户输入验证信息后,服务器发送应答码235,表示用户验证成功。
  6. 客户端通过mail from向服务器发送发信人的邮箱和域名。
  7. 服务器响应应答码250,表示请求命令完成。
  8. 客户端通过rept to命令向服务器发送收件人的邮箱和域名。
  9. 服务器响应应答码250,表示请求命令完成。
  10. 服务器通过data命令对报文的传送进行初始化。
  11. 服务器响应应答码354,表示可以进行邮件传输。
  12. 客户端向服务器传送数据。
  13. 传输完成,服务器响应应答码250,表示请求命令完成。
  14. 客户端发送QUIT命令,终止连接。
  15. 服务器响应应答码221,表示SMTP服务关闭,结束会话。
  16. 客户端和服务器关闭TCP连接。

0%