← RFC Reference

RFC 5598 – 互联网邮件架构

Informational Core SMTP & Message Format Published March 2026
ELI5: 把电子邮件想象成包裹递送系统。有写信的人(作者)、接受邮件的本地邮局(提交)、将其运送到全国各地的分拣设施(中继)以及将邮件放入您邮箱的目的地本地邮局(递送)。RFC 5598 为这个系统中的每个参与者和流程命名,以便当其他 RFC 提到"MTA"或"MSA"时,每个人都指的是同一件事。

RFC 的存在理由

在 RFC 5598 之前,电子邮件社区对"MTA""中继"和"网关"等术语的使用松散且不一致。不同的 RFC 对相同的概念使用不同的术语。这造成了真实的混淆,特别是当 SPF、DKIM 和 DMARC 等身份验证机制需要精确定义消息路径中谁在做什么时。

由 Dave Crocker 于 2009 年发布,RFC 5598 为互联网电子邮件提供了一个综合的架构模型。它不是协议规范——它不定义任何新的数据格式或命令。相反,它是一个参考框架,用于命名和定义电子邮件生态系统中的每个参与者、角色和函数。几乎每个现代电子邮件 RFC 都引用 5598 的术语。

工作原理

RFC 5598 将电子邮件系统分解为围绕消息从发件人到收件人的旅程组织的不同功能组件。

四个主要环境

该架构定义了消息通过的四个运营环境:

  1. 邮件用户代理 (MUA) 环境:用户编写和阅读消息的地方。您的电子邮件客户端——Gmail、Outlook、Thunderbird 或您的应用程序调用的 API。
  2. 邮件提交代理 (MSA) 环境:接受来自 MUA 的消息并将其传递到邮件系统的服务。根据 RFC 6409 在端口 587 上运行,需要身份验证。
  3. 邮件传输代理 (MTA) 环境:核心路由基础设施。MTA 使用 SMTP (RFC 5321) 在端口 25 上跨互联网中继消息。
  4. 邮件投递代理 (MDA) 环境:将消息放入收件人邮箱的最终系统,通过 IMAP、POP3 或网络邮件使其可用。

消息流

# 电子邮件消息的生命周期 发件人 (MUA) --编写--> MSA --提交--> MTA --中继--> MTA --投递--> MDA --存储--> 收件人 (MUA) # | | | | | # 编写消息 身份验证、 通过 DNS MX 通过 DNS MX 存储到 # 带有标头 验证、 查询路由 查询路由 邮箱 # 应用策略

关键参与者和角色

参与者 缩写 角色
邮件用户代理 MUA 为用户编写和显示消息。电子邮件客户端。
邮件提交代理 MSA 接受来自已认证 MUA 的消息、执行策略并将其注入 MTA 基础设施。
邮件传输代理 MTA 使用 SMTP 路由和中继域间消息。电子邮件的"骨干"。
邮件投递代理 MDA 最终投递到收件人的邮箱。可能应用过滤规则。
邮件存储 MS 存储消息并通过 IMAP/POP3/JMAP 提供访问。

身份类型

RFC 5598 仔细区分了与消息关联的不同身份:

身份 出现位置 含义
发件人 From: 标头 编写消息的人或实体
发送者 Sender: 标头 实际传输消息的代理(与发件人不同时)
返回路径 MAIL FROM 信封 / Return-Path: 标头 退信应送往的位置;运输中的责任方
收件人 RCPT TO 信封 / To:/Cc: 标头 预期的收件人

这种区分对身份验证至关重要。SPF 验证返回路径身份。DKIM 可以代表发件人或中介签名。DMARC 将发件人身份与 SPF 和 DKIM 结果对齐。

关键技术细节

中介者

RFC 5598 识别了一类至关重要的参与者,称为中介者——接收消息然后重新发布的实体,可能在途中修改消息:

中介者是电子邮件身份验证复杂的主要原因。当邮件列表更改信封发件人并修改消息时,SPF 会失败(新的发件人 IP 未获得原始域的授权),DKIM 也可能失败(正文被修改)。这正是 ARC (RFC 8617) 设计用来解决的问题。

ADMD:管理管理域

RFC 5598 引入了ADMD 的概念——邮件操作的管理边界。ADMD 是在单一管理机构下运营一个或多个邮件服务的组织。例子:

当消息离开一个组织的邮件基础设施并进入另一个组织的邮件基础设施时,消息会跨越 ADMD 边界。身份验证和信任决策发生在这些边界处。

信封与内容

该架构规范化了每条电子邮件消息的两个层级:

常见错误

可递送性影响

Related RFCs