首页/网络/协议速查/SMTP 会话全流程(含应答)
本包目录(405 条)

SMTP 会话全流程(含应答)

一条完整会话:问候 → 加密 → 认证 → 信封 → 数据 → 收尾;最容易记错的是 DATA 的结束标志是「单独一行的一个点」。

协议速查网络更新于 2026-10-12

完整投递(含 STARTTLS 与认证)

完整投递(含 STARTTLS 与认证)
S: 220 mail.example.com ESMTP ready
C: EHLO client.local
S: 250-mail.example.com
S: 250-SIZE 10485760
S: 250-STARTTLS
S: 250 AUTH PLAIN LOGIN
C: STARTTLS
S: 220 Ready to start TLS
(进行 TLS 握手)
C: EHLO client.local
S: 250 AUTH PLAIN LOGIN
C: AUTH PLAIN AHVzZXIAcGFzcw==
S: 235 2.7.0 Authentication successful
C: MAIL FROM:<me@example.com>
S: 250 2.1.0 Ok
C: RCPT TO:<you@example.net>
S: 250 2.1.5 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Subject: test
C: (空行)
C: hello
C: .
S: 250 2.0.0 Ok: queued as 4XyZ123
C: QUIT
S: 221 2.0.0 Bye
正文里若出现以点开头的行(例如 .hidden),发送方要在行首再加一个点转义(dot-stuffing),接收方去掉一个点还原。

易错点

  • 在 DATA 阶段直接黏贴含「.」单独成行的文本会提前结束正文:日志、补丁、base64 文本里很常见

数据来源与参考

  • RFC 5321 §4.3(过程)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌