← RFC Reference

RFC 6532 – 国际化电子邮件头

Proposed Standard Core SMTP & Message Format Obsoletes RFC 5322 Published March 2026
ELI5: 在这个 RFC 之前,如果你想在电子邮件标头中写像"Müller"这样的名字或日语主题行,你必须将其编码成难以理解的混乱,比如`=?UTF-8?B?...?=`。RFC 6532 说"直接使用 UTF-8"。From 行可以用纯文本显示`田太郎 `,主题可以使用任何语言,无需编码技巧。电子邮件在网络上看起来和在屏幕上一样。

为什么存在这个RFC

原始电子邮件格式(RFC 5322)将标题字段限制为美国ASCII字符。要在主题、发件人显示名称或地址注释等标题中包含非ASCII文本,发件人必须使用RFC 2047编码字——这是一个繁琐的方案,对文本进行Base64或Q编码,并将其包装在=?charset?encoding?...?=标记中。

这个系统有效,但产生的标题在原始形式下不可读,难以正确实现,并且适用范围有限。例如,RFC 2047编码字不能用于电子邮件地址的本地部分。

RFC 6532更新了RFC 5322,允许在电子邮件标题中直接使用UTF-8。结合RFC 6531(SMTP信封的SMTPUTF8),这实现了完全国际化的电子邮件,其中地址、显示名称、主题和其他标题都可以使用本地脚本,无需编码处理。

工作原理

  1. 消息通过SMTP与SMTPUTF8扩展(RFC 6531)传输,表示消息使用国际化内容。
  2. 标题字段可在RFC 5322允许的任何文本位置包含原始UTF-8八位字节。
  3. 标题中的电子邮件地址(From、To、Cc、Reply-To)可在本地部分和域部分包含UTF-8字符。
  4. 消息标题块的Content-Type隐式为message/global(在RFC 6532中定义),而不是传统的message/rfc822。
  5. 支持RFC 6532的接收邮件客户端以本地形式显示标题。不支持的客户端可能显示原始UTF-8字节或无法解析标题。

标题示例

传统RFC 2047编码标题与RFC 6532标题的对比:

# 旧方式:RFC 2047编码字(在线路上不可读) From: =?UTF-8?B?w4ltaWxpZSBEdXBvbnQ=?= <emilie@example.fr> Subject: =?UTF-8?B?5Lya6K2w44Gu56K66KqN?= To: =?UTF-8?B?5bGx55Sw5aSq6YOO?= <taro@example.jp> # 新方式:RFC 6532原始UTF-8(人类可读) From: Émilie Dupont <émilie@exemple.fr> Subject: 会议的确认 To: 田太郎 <田太郎@例.jp>

一条完整的国际化消息:

From: 田太郎 <田太郎@例.jp> To: Émilie Dupont <émilie@exemple.fr> Subject: 会议的确认 Date: Wed, 11 Mar 2026 19:00:00 +0900 Message-ID: <20260311.001@例.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 确认下周的会议。

关键技术细节

message/global与message/rfc822

RFC 6532引入了一个新的MIME类型:message/global。这在功能上与message/rfc822相同,但表示消息可能在标题中包含UTF-8。当消息通过SMTPUTF8传输时,附加消息和转发消息应使用message/global而非message/rfc822:

MIME类型 标题编码 用途
message/rfc822 仅ASCII(非ASCII使用RFC 2047) 传统电子邮件
message/global 本地允许UTF-8 国际化电子邮件

允许UTF-8的位置

RFC 6532允许在RFC 5322允许文本的所有标题字段位置使用UTF-8:

DKIM签名考虑

DKIM签名覆盖特定标题。当这些标题包含原始UTF-8时,签名和验证过程必须正确处理字节。DKIMh=标签列出要签名的标题,规范化应用于原始UTF-8字节。发件人和验证人都必须处理相同的字节序列,签名才能匹配。

向后兼容性

RFC 6532消息与仅理解RFC 5322的邮件系统不向后兼容。接收message/global消息但不支持RFC 6532的服务器或客户端可能会:

常见错误

传递能力影响

Related RFCs