← RFC Reference

RFC 2369:List-Unsubscribe 和 List-* 头部

Current Standard Mailing Lists & Header Fields Published March 2026
ELI5: 当你收到杂志订阅的信件时,通常会有一个电话号码和地址用于取消订阅。RFC 2369 对电子邮件也添加了同样的功能——标准化的邮件头,告诉电子邮件客户端如何退订、获取帮助、订阅或联系邮件列表所有者。

为什么存在这个

在RFC 2369之前,邮件列表消息没有标准方式来公布取消订阅或管理URL。用户必须在消息页脚中查找取消订阅链接——如果存在的话。该RFC定义了一系列List-*标头字段,电子邮件客户端可以解析并将其呈现为UI元素(如Gmail中发件人姓名旁的"取消订阅"链接)。

如今,这些标头对商业电子邮件至关重要。Gmail、Yahoo和Apple Mail都使用List-Unsubscribe来显示一键取消订阅按钮。RFC 8058后来使用真正的一键POST机制进行了扩展。

工作原理

每个List-*标头包含一个或多个URI(在尖括号中,以逗号分隔),电子邮件客户端可以用于列表管理。最重要的是List-Unsubscribe,但该RFC定义了完整的集合:

完整的List-*标头族

标头 目的
List-Unsubscribe 从列表取消订阅的URL
List-Subscribe 订阅列表的URL
List-Help 列表文档或帮助的URL
List-Post 向列表发送消息的地址(如果不允许发布,则为NO)
List-Owner 列表管理员的联系地址
List-Archive 列表消息存档的URL

标头示例

; HTTPS URL和mailto备选方案
List-Unsubscribe: <https://example.com/unsub?id=abc123>,
    <mailto:unsub-abc123@example.com>

; 一键取消订阅(RFC 8058添加)
List-Unsubscribe-Post: List-Unsubscribe=One-Click

; 其他List-*标头
List-Subscribe: <https://example.com/subscribe>
List-Help: <https://example.com/list-help>
List-Post: <mailto:discussion@example.com>
List-Owner: <mailto:listadmin@example.com>
List-Archive: <https://example.com/archive>

URI方案

RFC允许任何URI方案,但实际上使用了两种:

提供多个URI时,电子邮件客户端选择使用哪个。当存在List-Unsubscribe-Post时,大多数现代客户端优先选择HTTPS而不是mailto。

关键技术细节

正确的标头格式

URI必须用尖括号括起来。多个URI以逗号分隔。根据标准标头折叠规则(RFC 5322),允许空格和行折叠。

正确:
List-Unsubscribe: <https://example.com/unsub?id=abc>, <mailto:unsub@example.com>

错误(缺少尖括号):
List-Unsubscribe: https://example.com/unsub?id=abc

mailto URI

取消订阅的mailto URI可以包含主题或正文:

List-Unsubscribe: <mailto:unsub@example.com?subject=unsubscribe-abc123>

接收系统处理传入的电子邮件以触发取消订阅。即使收件人的电子邮件客户端不支持基于HTTPS的取消订阅,这也有效。

List-Post: NO

对于收件人无法发布的仅公告列表,使用特殊值:

List-Post: NO

常见错误

可交付性影响

Related RFCs