- connect SMTP服务器,建立会话。 (示例以腾讯smtp服务端为例)
- 客户端发送一个 HELO 或 EHLO 命令。
- 客户端发送一个 AUTH 认证命令进行用户登录(账号 密码)。
- 客户端发送一个 MAIL 命令指定发件人。
- 客户端发送一个 RCPT 命令指定收件人。
- 客户端发送一个 DATA 命令准备输入邮件正文。
- 客户端发送邮件头,发内容前先发送 \r\n 表示要发送具体正文了
- 客户端发送一个 "\r\n .\r\n" 命令(点命令)表示 DATA 命令结束。
- 客户端发送一个 QUIT 命令结束会话。
交互过程
SMTP (Simple Mail Transfer Protocol)协议是为了保证电子邮件的可靠和高效传送。TCP/IP 协议的应用层中包含有SMTP协议,但事实上它与传输系统和机制无关,仅要求一个可靠的数据流通道。它可以工作在TCP上,也可以工作在NCP, NITS 等协议上。在TCP上,它使用端口25进行传输,如果使用ssl,端口是465;以上示例的是不带ssl的使用示例
,