摘要
- RFC 3462 要求
multipart/report位于 MIME 消息最外层,并按固定次序容纳两个必需部分:先是给人阅读的解释,再是带明确类型、供机器解析的处理事件记录;第三部分可以选择性退回原消息或其片段。 - 这个外壳解决的是识别,不是信任。
report-type能预告第二部分的 MIME 子类型,但结构完全合规的伪造报告仍可能误导读者,甚至触发自动删除等危险动作。
同一次故障,需要两套阅读方式
退信若只有自然语言,收件人也许能看懂,自动化系统却很难可靠地从不同语言和不同措辞中抽取结论。若只留下状态字段,程序容易处理,普通发件人却未必知道该改地址、重试,还是等待。早期互联网邮件需要的不是在“给人看”和“给机器看”之间二选一,而是一种能把两套表达并置、又不混淆其职责的结构。
2003 年 1 月发布的 RFC 3462 回答了这个包装问题。它的纯文本版本、RFC Editor 条目、Datatracker 页面、文档历史、规范引用、后续引用和勘误查询共同限定了可核验的标准记录。它取代 RFC 1892,把“报告”从单一退信格式提升为可由不同报告子类型复用的 MIME 容器家族。
multipart/report 必须是整封消息最外层的 MIME 内容类型。除了 RFC 2046 所规定的 multipart boundary,它还必须带有 report-type。后一个参数直接命名第二个正文部分的 MIME 子类型。于是,处理程序只看外层头部,就能知道这是报告,以及内部应当出现哪一种机器记录;它不必先把全部正文当成普通内容读完。
顺序不是排版,而是语义
第一部分必不可少,目标读者是人。它可以采用任何由标准定义的 MIME 类型,可以选择适合受众的字符集和语言,也可以使用 multipart/alternative 提供多种呈现。这里的灵活性很重要:对故障的解释必须照顾具体读者,不能被压缩成一种全球通用的固定句子。
第二部分同样必不可少,但服务对象是软件。它用已注册的媒体类型记录一次消息处理事件,也可以包含专家诊断所需的细节。对于投递状态通知,RFC 3464 使用 message/delivery-status。不过,通用容器本身并不规定 SMTP 何时应发通知,也不定义每个状态码。RFC 3461 负责投递通知请求,RFC 3463 提供增强状态码。换句话说,RFC 3462 决定“机器证据放在哪里、属于什么类型”,并不单凭一个外壳就宣告“投递事实是什么”。
第三部分可以省略。若存在,它携带原消息或其中足以帮助诊断、关联的部分。没有明确指定退回级别时,规范建议退回完整消息,但这样做会占用带宽,也可能扩大内容暴露。如果回程是否能安全承载 8 位或二进制数据并不确定,生成方可以把原消息重新编码成合法的 7 位 MIME,或者只退回 text/rfc822-headers。后者延续了 RFC 822 的消息头传统,却只保存头部,不是完整消息,因此不能冒充 message/rfc822。
三段结构由此形成一条很朴素的证据纪律:第一部分解释,第二部分供计算,第三部分提供上下文。流畅的说明不等于状态字段;状态字段不等于被报告的原始对象;一组头部也不等于整封邮件。它们可以共同旅行,但不能互相代替。
能识别,不等于能相信
把报告放在最外层,自动化软件便可从 Content-Type 快速分流。IANA 媒体类型注册表为这些子类型提供公共命名空间。后来,RFC 3798 定义、再由 RFC 8098 修订的消息处置通知,以及 RFC 6533 的国际化投递状态,都继续利用这类外壳。
可识别性也带来权力风险。RFC 3462 明确警告:multipart/report 不会认证内容。伪造的负面报告可能让邮件列表或目录管理程序误删有效地址,把看似合理的自动清理变成拒绝服务。伪造的正面报告又可能制造“已经投递”的错误确信。覆盖整个报告结构的数字签名可以缓解伪造,但具体认证机制不属于这份 RFC 的范围。
这条限制比格式规则更值得保留。解析器能证明字节符合语法,却不能据此证明是谁生成了报告、被描述的事件是否发生,也不能证明人确实读过第一部分。若自动化系统抹去这些层次,解析成功便会被不当地升级为运营授权。
Heng Lu 后来的现实分层方法可用来拆开四张不同的收据:收到的格式化主张、解析器的解释、邮件系统实际发生的事件,以及管理者据此采取的动作。其关于运行代码优先的论述,则要求检查真实 MIME 树、报告生成器、认证步骤和最终消费报告的自动化。这些只是后来的编辑分析工具,不是对 RFC 作者私人意图的推断。
RFC 3462 没有让报告自动变真。它完成了一个更克制、也更耐久的基础设施设计:让人的解释、机器的断言和可选的原始材料共处一封信,却始终保留三者的边界。结构负责让它们被找到,信任仍需另行建立。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
