防止电子邮件扫描器激活 "unsubscribe" 链接的策略

Strategies to prevent email scanners from activating "unsubscribe" links

我想在我的服务发送的电子邮件的页脚中提供单击“退订”链接。

显然,许多垃圾邮件扫描程序会扫描电子邮件,并会跟踪电子邮件中找到的任何链接来扫描其内容以查找恶意软件。到目前为止我使用的解决方法:

这样,用户通常只需单击一下表单,他们就会收到“您已取消订阅”的消息。如果他们禁用了 JS,他们仍然可以手动提交确认表单。

现在的问题是,Office365的ATP等一些扫描器会打开页面,在里面执行JS。通过执行 JS,他们提交表单并导致用户自动取消订阅。

我考虑过向自动提交 JS 逻辑添加检查:

但这些方法看起来都很脆弱,充其量只是黑客攻击,随着电子邮件扫描器改变其策略,它们必然会崩溃。

我相信在我之前有很多人遇到过这个问题。除了放弃单击功能之外,是否有已知的合理解决方法?

PS。我添加了对 RFC 8058 的支持,但用户仍会单击页脚中的链接。

这是 M³AAWG(消息传递、恶意软件和移动反滥用工作组)正在进行的辩论主题。这是一团糟,没有简单的解决方案。听起来你做的一切都是对的,但有些反垃圾邮件系统有点太激进了。

最大的问题是,您能做的任何事情也可能被滥用的营销人员或垃圾邮件发送者做。

我听到的最好的建议就是为操作设置一个计时器。为发送后 5 分钟内取消订阅的用户添加验证码,然后删除验证码。 (不要不要为您的 RFC 8058 List-Unsubscribe-Post link 实现这个。)

我的下一个最喜欢的建议是在消息中添加金丝雀 link。这对人类读者来说应该是不可见的。如果被跟踪,它会从该 IP 恢复最近的点击 activity 并暂时禁止该 IP 触发操作。

我也喜欢你的想法,只要确保如果 Javascript 被禁用,用户仍然可以在点击确认按钮后退订。

我的一部分(警告,我是一名反垃圾邮件研究员)想要这些误报。希望这会告诉我的同龄人,他们做得很糟糕,而且这些升级将继续发生在他们身上。从您的角度来看,您可以推卸责任(尽管在此过程中您会失去一些订阅者)。

垃圾邮件检测系统必须小心避免订阅管理 links(至少在坏人开始将他们的有效负载伪装成 unusbscribe links 之前)。