Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 防止电子邮件扫描程序激活的策略;“取消订阅”;链接_Email_Office365_Spam_Unsubscribe - Fatal编程技术网

Email 防止电子邮件扫描程序激活的策略;“取消订阅”;链接

Email 防止电子邮件扫描程序激活的策略;“取消订阅”;链接,email,office365,spam,unsubscribe,Email,Office365,Spam,Unsubscribe,我想在我的服务发送的电子邮件的页脚提供一个单击“取消订阅”链接 显然,许多垃圾邮件扫描器会扫描电子邮件,并会跟踪电子邮件中发现的任何链接,以扫描其内容中的恶意软件。到目前为止,我使用了一种变通方法: 如果通过HTTP GET请求“Unsubscribe”页面,它将呈现一个简单的确认表单和一点JS,在页面加载时提交表单 如果通过HTTP POST请求“取消订阅”页面,则我们将取消订阅该用户 这样,用户通常只需单击表单,就会收到“You have unsubscribed”消息。如果他们禁用了J

我想在我的服务发送的电子邮件的页脚提供一个单击“取消订阅”链接

显然,许多垃圾邮件扫描器会扫描电子邮件,并会跟踪电子邮件中发现的任何链接,以扫描其内容中的恶意软件。到目前为止,我使用了一种变通方法:

  • 如果通过HTTP GET请求“Unsubscribe”页面,它将呈现一个简单的确认表单和一点JS,在页面加载时提交表单
  • 如果通过HTTP POST请求“取消订阅”页面,则我们将取消订阅该用户
这样,用户通常只需单击表单,就会收到“You have unsubscribed”消息。如果他们禁用了JS,他们仍然可以手动提交确认表

现在的问题是,一些扫描仪(如Office365的ATP)会打开页面,然后在其中执行JS。通过执行JS,他们提交表单并导致用户自动取消订阅

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

  • 不为特定用户代理自动提交
  • 不针对特定的客户端IP范围自动提交
  • 触发鼠标移动时自动提交事件
但这些看起来都像是脆弱的方法,充其量只是黑客,随着电子邮件扫描器改变策略,这些方法注定会崩溃

我相信这个问题在我之前已经困扰了很多人。除了放弃单击功能外,还有其他合理的解决方法吗


另外,我已经添加了对的支持,但用户仍将单击页脚中的链接。

这是(信息、恶意软件和移动反滥用工作组)正在讨论的主题。这是一片混乱,没有简单的解决办法。听起来你做的一切都对,但有些反垃圾邮件系统有点太激进了

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

我听过的最好的建议就是在行动中设置一个计时器。为在交付后5分钟内取消订阅的用户添加验证码,然后删除验证码。(不要对RFC 8058列表取消订阅帖子链接实施此操作。)

我下一个最喜欢的建议是在邮件中添加一个金丝雀链接。这应该是人类读者看不见的。如果遵循此操作,它将从该IP还原最近的单击活动,并在一段时间内禁止该IP的操作触发器

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

我有一部分人(警告,我是一名反垃圾邮件研究人员)想要这些误报。希望这能让我的同龄人明白,他们的工作做得太差了,而且这些升级还会继续向他们袭来。从你的角度来看,你可以推卸责任(尽管在这个过程中你会失去一些订户)


垃圾邮件检测系统必须小心避免订阅管理链接(至少在坏人开始将其有效负载伪装为UnusScribe链接之前)。

一个有趣的问题,我想到的是谷歌新推出的隐形reCAPTCHA v3,通常,如果它看起来正常,则不需要用户执行任何操作。@Vladan可以在“快乐案例”中工作。如果reCAPTCHA检查失败(例如,因为页面在没有Google cookie的电子邮件客户端中打开),那么最终用户将非常恼火。此外,数据会传到谷歌,所以你需要对此感到舒服,在隐私政策中提及它,等等。我们有相同的功能。但我们使用Emarsys创建发送给用户的电子邮件,在页脚中有一个简单的链接(编码)来完成这项工作。现在你让我想知道,我的用户是不是被电子邮件扫描器取消了订阅?谢谢!这些都是我没有想到的好主意。我将尝试计时器方法。在我的例子中,“CAPTCHA”是一个简单的按钮,在屏幕的中间,只需要点击。对于快速打开的“取消订阅”链接,我不会使用JS自动单击该按钮。这应该至少能在Office365 ATP上传播,它会在发送电子邮件后一分钟内扫描链接。金丝雀链接将更难实现(撤销操作、跟踪被禁止的IP)。此外,垃圾邮件扫描程序可能会将带有不可见链接的电子邮件标记为垃圾邮件/恶意软件。