跳到主要内容

1. 简介 (Introduction)

1.1. 电子邮件传输 (Transport of Electronic Mail)

简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 的目标是可靠且高效地传输邮件.

SMTP 独立于具体的传输子系统, 只要求一个可靠且有序的数据流信道. 虽然本文档专门讨论基于 TCP 的传输, 但也可以使用其他传输方式. RFC 821 的附录描述了其中一些方式.

SMTP 的一个重要特性是能够跨多个网络传输邮件, 这通常称为 "SMTP mail relaying" (见第 3.6 节). 一个网络可以由公共 Internet 上彼此可通过 TCP 访问的主机构成, 也可以由防火墙隔离的 TCP/IP Intranet 上彼此可通过 TCP 访问的主机构成, 还可以由某些使用非 TCP 传输层协议的 LAN 或 WAN 环境中的主机构成. 使用 SMTP 时, 一个进程可以把邮件传输给同一网络上的另一个进程, 也可以通过两个网络都能访问的 relay 或 gateway 进程传输到其他网络.

通过这种方式, 邮件消息在从发送者到最终接收者的路径上可能经过若干中间 relay 或 gateway 主机. 域名系统的 Mail eXchanger 机制 (RFC 1035, RFC 974 以及本文档第 5 节) 用于为正在传输的消息识别适当的下一跳目的地.

1.2. 本文档的历史和背景 (History and Context for This Document)

本文档是 Internet 电子邮件传输基础协议的规范. 它整合, 更新并澄清以下内容, 但不新增或改变现有功能:

  • RFC 821 中的原始 SMTP (Simple Mail Transfer Protocol) 规范
  • RFC 1035 和 RFC 974 中与邮件传输相关的域名系统要求及其影响
  • RFC 1123 中的澄清和适用性声明
  • 来自 RFC 1869 的 SMTP 扩展机制材料
  • 对 RFC 2821 的编辑性和澄清性修改, 以使该规范达到 Draft Standard

本文档废止 RFC 821, RFC 974, RFC 1869 和 RFC 2821, 并更新 RFC 1123 (替换 RFC 1123 中的邮件传输材料). 不过, RFC 821 规定了一些到 1990 年代中期在 Internet 上并未广泛使用的功能, 并在附录中规定了一些额外传输模型. 为了清晰和简洁, 这些部分在本文档中省略; 需要这些内容的读者应参考 RFC 821.

本文档还包含了 RFC 1123 中一些需要扩充说明的材料. 这些材料通过多种方式识别出来, 主要来自对各种邮件列表和新闻组讨论的跟踪, 以及随着 SMTP 扩展部署而出现的不寻常解读或解释问题.

虽然 SMTP 被设计为邮件传输和投递协议, 本规范也包含了将其用作 "mail submission" 协议时很重要的信息, 这与 Post Office Protocol (POP) (RFC 937, RFC 1939) 和 IMAP (RFC 3501) 的建议使用方式相关. 一般来说, 现在更推荐使用 RFC 4409 指定的独立邮件提交协议, 而不是直接使用 SMTP.

第 2.3 节给出了本文档特有术语的定义. 除非为了清晰必须使用历史术语, 本文档使用当前的 "client" 和 "server" 术语分别标识发送和接收 SMTP 进程.

配套文档 RFC 5322 讨论消息头部区段和正文, 并规定它们的格式和结构.

1.3. 文档约定 (Document Conventions)

本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 和 "OPTIONAL" 应按 RFC 2119 中的说明解释. 由于这些术语的每一次使用都是为了提高电子邮件互操作性而有意且谨慎选择的, 因此每一次使用都应被视为一致性要求.

由于本文档历史悠久, 且为了避免各种错误以及避免混淆读者和引用本文档的其他文档, 大多数示例及其包含的域名都保留自 RFC 2821. 提醒读者注意, 这些只是说明性示例, 不应在代码或配置文件中实际使用.