← RFC Reference

RFC 6522:Multipart/Report 媒体类型(已更新)

Current Standard Delivery Status & Bounce Handling Obsoletes RFC 3462 Published March 2026
ELI5: 当邮件服务器需要告诉您电子邮件发生了错误(或成功)时,它会将报告包装在称为 `multipart/report` 的标准信封中。可以将其视为一个有三个口袋的文件夹:一个口袋放置纯英文说明,第二个口袋放置机器可读的报告,第三个口袋放置原始邮件的副本。RFC 6522 是该文件夹的更新规范。

这为什么存在

电子邮件生成许多类型的自动化报告:退信通知(RFC 3464)、垃圾邮件投诉(RFC 5965)、身份验证失败报告(RFC 6591)和 TLS 失败报告(RFC 8460)。所有这些都需要一个通用容器格式,既能携带人类可读的摘要,又能携带机器可解析的报告。

multipart/report 就是这样的容器。它最初在 RFC 3462 中定义,该规范本身更新了 RFC 1892。RFC 6522 是当前版本,使规范与现代 MIME 注册程序保持一致,并澄清了早期草案中的歧义。

从 RFC 3462 到 6522 的关键变化:

工作原理

multipart/report 消息是一个具有必需 report-type 参数的 MIME 多部分消息,该参数标识内部报告的类型。它按特定顺序包含两个或三个 MIME 部分:

  1. 人类可读部分(text/plain 或 text/html)— 在邮件客户端中打开消息的人类摘要。
  2. 机器可读报告 — 结构化数据。内容类型取决于 report-type:
    • delivery-status → message/delivery-status(RFC 3464)
    • feedback-report → message/feedback-report(RFC 5965)
    • tlsrpt → application/tlsrpt+json(RFC 8460)
  3. 原始消息(可选)— 触发报告的消息的 message/rfc822(完整消息)或 text/rfc822-headers(仅标题)。

结构示例:DSN 退信

From: mailer-daemon@mail.example.org
To: sender@example.com
Subject: Delivery Status Notification (Failure)
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
    boundary="REPORT-BOUNDARY-001"

--REPORT-BOUNDARY-001
Content-Type: text/plain

Your message to user@example.org could not be delivered.
The mailbox does not exist.

--REPORT-BOUNDARY-001
Content-Type: message/delivery-status

Reporting-MTA: dns; mail.example.org
Arrival-Date: Tue, 10 Mar 2026 14:22:00 -0500

Final-Recipient: rfc822;user@example.org
Action: failed
Status: 5.1.1
Diagnostic-Code: smtp; 550 5.1.1 Mailbox not found

--REPORT-BOUNDARY-001
Content-Type: text/rfc822-headers

From: sender@example.com
To: user@example.org
Subject: Invoice #1234
Message-ID: <inv-1234@example.com>

--REPORT-BOUNDARY-001--

结构示例:ARF 投诉

Content-Type: multipart/report; report-type=feedback-report;
    boundary="ARF-BOUNDARY-001"

--ARF-BOUNDARY-001
Content-Type: text/plain

This is a spam complaint for a message from 203.0.113.10.

--ARF-BOUNDARY-001
Content-Type: message/feedback-report

Feedback-Type: abuse
User-Agent: FBL/1.0
Version: 1
Source-IP: 203.0.113.10

--ARF-BOUNDARY-001
Content-Type: message/rfc822

[original message]

--ARF-BOUNDARY-001--

关键技术细节

report-type 参数

Content-Type 标题上的 report-type 参数是必需的,它告诉解析器在第二个 MIME 部分中预期什么类型的机器可读数据:

report-type 第二部分内容类型 定义者
delivery-status message/delivery-status RFC 3464
disposition-notification message/disposition-notification RFC 8098
feedback-report message/feedback-report RFC 5965
tlsrpt application/tlsrpt+json RFC 8460

部分排序规则

国际化

RFC 6522 添加了对 message/global 和 message/global-headers 的支持作为第三部分的替代方案,以根据 RFC 6531/6532 容纳国际化电子邮件地址和标题。

常见错误

可传递性影响

Related RFCs