Alias 如何处理退订链接
大多数营销邮件依法都要带退订链接或邮箱地址。背后两份标准:RFC 2369 规定了 List-Unsubscribe: 头(指向 mailto: 和/或 https:// URL),RFC 8058 规定了一键 POST 配套机制 —— Gmail / Outlook 顶部那个 "Unsubscribe" 按钮就是这个标准的产物。
Alias 转发邮件到你真实邮箱之前,会把这两个头都改写成指向我们自己的代理。多一跳是有理由的。
为什么必须重写
如果原样转发:
mailto:会用你真实邮箱发退订,把真实邮箱送给发件方 —— 别名的隐私意义当场归零。https://URL 与一键 POST 仍指向发件方域名,但邮件From:已经被重写到你的别名域。Gmail 把这种"From 与退订域不一致"视为弱负面信号,邮件因此更容易进 Promotions 或 Spam。
把链接改成 https://api.mxalias.com/unsubscribe/<token> 后,两个问题同时解决:
mailto:走 Alias 不走你的客户端。- 一键 POST 与
From:域名对齐。
三种方法各自的处理
重写是类型感知的:
mailto:
Alias 生成唯一 token,记录原始收件人/主题/正文,然后改写链接。你点击时,Alias 以你的别名身份给原收件人发退订邮件。真实邮箱不参与。结果会被记录,便于回查。
https 一键 POST (RFC 8058)
Gmail 顶部的 "Unsubscribe" 按钮触发的 POST 会打到我们的代理,我们把它转发到发件方原 URL,body 强制为 List-Unsubscribe=One-Click。不跟随重定向(RFC 8058 明确禁止),且去掉 cookie / Authorization / Referer。私网地址一律拒绝(127/8,10/8,172.16/12,192.168/16,169.254/16,IPv6 loopback / ULA / link-local) —— 发件方 URL 解析到这些地址直接 502。
https 用户主动点击 (RFC 2369)
你在邮件客户端点击链接时,Alias 返回 302 Found 到原 URL,并附带 Referrer-Policy: no-referrer。之后浏览器接管,你在发件方的正常退订页面完成全套流程(偏好中心、降级订阅等)。真实邮箱不会被发出;你的 IP 会到达发件方网站(任何退订链接都是这样),但发件方不会知道这次点击来自 Alias。
隐私对照
| 暴露项 | 不用 Alias | 用 Alias |
|---|---|---|
点击 mailto: 时暴露真实邮箱 | 是 | 否 |
| 提交一键 POST 时暴露真实邮箱 | 否 | 否 |
| 访问 https 退订页时暴露 IP | 是 | 是 |
| 是否被发件方知道你打开过邮件 | 也许 | 也许 |
Alias 不能消除所有泄漏(完全不点退订链接才行),但堵上了最严重的缺口(mailto: 真实邮箱泄漏),让 From 和退订域对齐 —— 邮件继续进正常收件箱,你仍按自己节奏决定是否退订。
常见问题
为什么点退订时会一闪而过 mxalias.com 再到发件方页面?
这是 https 透传分支在工作。我们先在 token 表里记下你点击过(便于将来回看退订历史),再 302 把你送到发件方页面继续完成流程。
页面说"已发送退订请求",可邮件还在来?
发件方异步处理退订。多数十天内停止,有的可能要三十天。一个月后还在收,就再点一次,或者直接在收件箱里屏蔽该发件方。
如果发件方退订 URL 坏了?
你会看到失败页。再次点击邮件里的退订链接,Alias 会从干净状态重试。如果对方服务器永远不修,180 天保留期一过 token 就过期了。
Alias 会留我退订记录吗?
每个退订 token 保留 180 天,给你一个回查的窗口。之后行会被自动清掉。