← RFC Reference

RFC 6532 – Tiêu đề Email Quốc tế hóa

Proposed Standard Core SMTP & Message Format Obsoletes RFC 5322 Published March 2026
ELI5: Trước RFC này, nếu bạn muốn viết một tên như "Müller" hoặc dòng chủ đề bằng tiếng Nhật trong tiêu đề email, bạn phải mã hóa nó thành một đoạn vô nghĩa như `=?UTF-8?B?...?=`. RFC 6532 nói "chỉ cần sử dụng UTF-8 trực tiếp." Dòng From có thể nói `田太郎 ` dưới dạng văn bản thuần túy, và Subject có thể bằng bất kỳ ngôn ngữ nào mà không cần các thủ thuật mã hóa. Email trông giống nhau trên dây dẫn và trên màn hình.

Tại sao RFC này tồn tại

Định dạng email gốc (RFC 5322) giới hạn các trường tiêu đề chỉ sử dụng ký tự US-ASCII. Để bao gồm văn bản không phải ASCII trong các tiêu đề như Subject, tên hiển thị From, hoặc nhận xét địa chỉ, người gửi phải sử dụng RFC 2047 encoded words — một lược đồ phức tạp mã hóa Base64 hoặc Q-encode văn bản và bao gọi nó trong các ký tự đánh dấu =?charset?encoding?...?=.

Hệ thống này hoạt động nhưng tạo ra các tiêu đề không thể đọc được ở dạng thô, khó thực hiện chính xác, và bị giới hạn nơi chúng có thể xuất hiện. Ví dụ, các encoded words của RFC 2047 không thể được sử dụng bên trong phần local-part của một địa chỉ email.

RFC 6532 cập nhật RFC 5322 để cho phép UTF-8 trực tiếp trong các tiêu đề email. Kết hợp với RFC 6531 (SMTPUTF8 cho phần envelope SMTP), điều này cho phép email hoàn toàn quốc tế hóa nơi các địa chỉ, tên hiển thị, chủ đề, và các tiêu đề khác có thể sử dụng tập lệnh gốc mà không cần các cách thay thế mã hóa.

Cách hoạt động

  1. Thông báo được truyền tải qua SMTP với phần mở rộng SMTPUTF8 (RFC 6531), báo hiệu rằng thông báo sử dụng nội dung quốc tế hóa.
  2. Các trường tiêu đề có thể chứa các octets UTF-8 thô ở bất kỳ nơi nào mà RFC 5322 cho phép văn bản.
  3. Các địa chỉ email trong tiêu đề (From, To, Cc, Reply-To) có thể chứa các ký tự UTF-8 trong phần local-part và phần domain.
  4. Content-Type cho khối tiêu đề thông báo được ngầm định là message/global (được định nghĩa trong RFC 6532) thay vì message/rfc822 truyền thống.
  5. Các ứng dụng email nhận hỗ trợ RFC 6532 hiển thị các tiêu đề một cách tự nhiên. Các ứng dụng không hỗ trợ có thể hiển thị các byte UTF-8 thô hoặc không thể phân tích cú pháp các tiêu đề.

Ví dụ về tiêu đề

Các tiêu đề được mã hóa RFC 2047 truyền thống so với các tiêu đề RFC 6532:

# Cách cũ: các encoded words RFC 2047 (không thể đọc trên dây) From: =?UTF-8?B?w4ltaWxpZSBEdXBvbnQ=?= <emilie@example.fr> Subject: =?UTF-8?B?5Lya6K2w44Gu56K66KqN?= To: =?UTF-8?B?5bGx55Sw5aSq6YOO?= <taro@example.jp> # Cách mới: RFC 6532 với UTF-8 thô (dễ đọc) From: Émilie Dupont <émilie@exemple.fr> Subject: 会議の確認 To: 田太郎 <田太郎@例.jp>

Một thông báo hoàn toàn quốc tế hóa:

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 来週の会議を確認します。

Các chi tiết kỹ thuật chính

message/global so với message/rfc822

RFC 6532 giới thiệu một loại MIME mới: message/global. Điều này hoạt động giống với message/rfc822 nhưng báo hiệu rằng thông báo có thể chứa UTF-8 trong các tiêu đề. Khi một thông báo được truyền tải với SMTPUTF8, các thông báo được đính kèm và các thông báo được chuyển tiếp nên sử dụng message/global thay vì message/rfc822:

Loại MIME Mã hóa tiêu đề Cách sử dụng
message/rfc822 Chỉ ASCII (RFC 2047 cho non-ASCII) Email truyền thống
message/global UTF-8 được phép một cách tự nhiên Email quốc tế hóa

Nơi UTF-8 được phép

RFC 6532 cho phép UTF-8 ở tất cả các vị trí trường tiêu đề nơi RFC 5322 cho phép văn bản:

Những cân nhắc về ký DKIM

Các chữ ký DKIM bao gồm các tiêu đề cụ thể. Khi những tiêu đề đó chứa UTF-8 thô, quá trình ký và xác minh phải xử lý các byte một cách chính xác. Thẻ h= của DKIM liệt kê các tiêu đề cần ký, và tính chính tắc được áp dụng cho các byte UTF-8 thô. Cả người gửi và người xác minh phải xử lý cùng một chuỗi byte để các chữ ký phù hợp.

Khả năng tương thích ngược

Các thông báo RFC 6532 không tương thích ngược với các hệ thống email chỉ hiểu RFC 5322. Một máy chủ hoặc ứng dụng khách nhận được thông báo message/global nhưng không hỗ trợ RFC 6532 có thể:

Những lỗi thường gặp

Tác động đến khả năng gửi

Related RFCs