跳到主要内容

附录 A. TCP 传输服务 (TCP Transport Service)

TCP 连接支持传输 8-bit 字节. SMTP 数据是 7-bit ASCII 字符. 每个字符作为一个 8-bit 字节传输, 最高位清零. 服务扩展可以为特定目的修改这一限制.

连接建立 (Connection Establishment)

SMTP 使用 TCP 端口 25 作为服务器连接的标准 well-known port. Message Submission 使用端口 587 (RFC 4409).

连接过程:

  1. 客户端建立到服务器端口 25 的 TCP 连接
  2. 服务器接受连接
  3. 服务器发送 220 greeting
  4. SMTP 会话开始

数据传输 (Data Transmission)

数据作为 8-bit 字节流传输. SMTP 协议元素 (命令和响应) 使用 7-bit ASCII.

连接终止 (Connection Termination)

QUIT 命令和 221 响应之后:

  1. 服务器关闭 TCP 连接
  2. 客户端收到 TCP 关闭通知
  3. 双方释放资源

超时考虑 (Timeout Considerations)

应使用 TCP keepalives 或应用层超时来检测失败连接并释放资源.