← RFC Reference

RFC 6531 – 国际化电子邮件的SMTP扩展

Proposed Standard Core SMTP & Message Format Obsoletes RFC 5321 Published March 2026
ELI5: 传统电子邮件地址只能使用英文字母、数字和少数符号。这意味着全球数十亿人无法用自己的文字拥有电子邮件地址——没有汉字、没有阿拉伯文、没有西里尔文。SMTPUTF8 通过扩展 SMTP 来处理完整的 Unicode 从而解决了这个问题,这样人们可以拥有诸如 `émilie@exemple.fr` 这样的地址,或用印地语、日语或任何其他书写系统的地址。

这个RFC为什么存在

电子邮件设计于ASCII时代。原始SMTP规范(RFC 5321)将电子邮件地址和信封命令限制为7位ASCII字符。这对英文来说很好,但排除了世界上大多数语言。像田太郎@例.jp这样的电子邮件地址根本不可能。

RFC 6531定义了SMTPUTF8扩展,允许在SMTP信封中使用UTF-8编码——特别是在MAIL FROM、RCPT TO和EHLO域中。这是一套统称为电子邮件地址国际化(EAI)的RFC的一部分,也包括用于国际化邮件头的RFC 6532。

这个扩展为Unicode支持的每个文字系统开放了电子邮件,这对全球电子邮件采用至关重要。

工作原理

  1. 客户端发送EHLO并确认服务器在其能力列表中通告SMTPUTF8。
  2. 发送包含非ASCII地址的消息时(在信封、头部或两者中),客户端将SMTPUTF8参数添加到MAIL FROM命令。
  3. MAIL FROM和RCPT TO地址现在可以包含UTF-8字符。
  4. 消息头也可以包含UTF-8(根据RFC 6532),替代旧的RFC 2047编码字变通方法。
  5. 如果下一跳服务器不支持SMTPUTF8,发送服务器必须降级消息或拒绝它——它不能默默地去除国际字符。

SMTP示例

发送具有国际化地址的消息:

S: 220 mx.example.com ESMTP C: EHLO sender.example.net S: 250-mx.example.com S: 250-SMTPUTF8 S: 250-8BITMIME S: 250-STARTTLS S: 250 SIZE 52428800 # 使用国际化地址时需要SMTPUTF8参数 C: MAIL FROM:<émilie@exemple.fr> SMTPUTF8 S: 250 2.1.0 OK C: RCPT TO:<田太郎@例.jp> S: 250 2.1.5 OK C: DATA S: 354 Start mail input C: From: Émilie Dupont <émilie@exemple.fr> C: To: 田太郎 <田太郎@例.jp> C: Subject: Meeting confirmation C: Date: Wed, 11 Mar 2026 10:00:00 +0100 C: MIME-Version: 1.0 C: Content-Type: text/plain; charset=UTF-8 C: C: Confirming our meeting for next week. C: . S: 250 2.0.0 OK, queued

关键技术细节

SMTPUTF8参数

MAIL FROM上的SMTPUTF8关键字表示此消息使用国际化内容。以下任何包含非ASCII字符时都必须存在:

如果未声明SMTPUTF8参数且信封包含非ASCII字符,服务器必须拒绝该命令。

域名:IDN和UTF-8

国际化域名多年来一直使用Punycode编码存在(例如,xn--e1afmapc.xn--p1ai对应пример.рф)。SMTPUTF8允许在SMTP中直接使用域名的UTF-8形式,尽管Punycode(A-标签)仍然有效。对于DNS查询,域名仍必须转换为其A-标签形式。

降级和回退

SMTPUTF8最大的挑战是与不支持它的服务器的互操作性。将消息中继到非SMTPUTF8服务器时:

与身份验证的交互

电子邮件身份验证机制需要针对国际化地址的更新:

常见错误

可传递性影响

Related RFCs