ruby-on-rails – 如何生成链接以取消订阅电子邮件

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何生成链接以取消订阅电子邮件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的rails应用程序,用户可以向10个人发送大量电子邮件.在这封电子邮件中,我希望在底部始终有一个链接,最终用户可以点击链接取消订阅通知.我没有太多的想法应该如何解决这个问题.

电子邮件中只能有一个通用链接,用户点击然后输入他们的电子邮件地址取消订阅?但是问题在于其他一些用户可以取消订阅其他用户.

我想为每个电子邮件生成一个特定的唯一链接,以便用户点击它时,它会自动从该列表中删除用户,而不是用户必须进行额外的工作.

为了实现这一点,我应该从哪里开始?

解决方法

您的取消订阅链接可能如下所示:http:// host / application / unsubscribe?address=example@example.com\u0026amp; token = 598bbdf39bc8f27b07fe85b6a7dd8decef641605

使用电子邮件地址和魔术令牌生成令牌.理想情况下,您将使用HMAC与SHA256,但即使只是sha1应该是“够好”:

$echo "secret token example@example.com" | sha1sum
598bbdf39bc8f27b07fe85b6a7dd8decef641605  -

秘密令牌部分将在您的应用程序中修复,并且example@example.com需要匹配电子邮件地址.

当然,如果秘密令牌被揭露出来,你会回到任何人取消订阅每一个人.您还可以在数据库中存储每个用户的魔术令牌,以验证URL中的令牌,这不会比这更难,而且更安全.

猜你在找的Ruby相关文章