Pat*_*ick 14 email ruby-on-rails
我有一个简单的rails应用程序,用户可以向10多人发送大量电子邮件.在这封电子邮件中,我希望始终在底部有一个链接,最终用户可以点击该链接取消订阅通知.我不知道如何解决这个问题.
用户点击的电子邮件中是否只有一个通用链接,然后输入他们的电子邮件地址以取消订阅?但问题是,其他一些用户可以取消订阅其他人.
我想为每封电子邮件生成一个特定的唯一链接,这样当用户点击它时,它会自动从列表中删除该用户,而不是用户必须做一些额外的工作.
我应该从哪里开始才能实现这个目标?
sar*_*old 15
您的取消订阅链接可能如下所示: http://host/application/unsubscribe?address=example@example.com&token=598bbdf39bc8f27b07fe85b6a7dd8decef641605
使用电子邮件地址和魔术令牌生成令牌.理想情况下,您将HMAC与SHA256一起使用,但即使只是sha1也应该"足够好":
$ echo "secret token example@example.com" | sha1sum
598bbdf39bc8f27b07fe85b6a7dd8decef641605 -
Run Code Online (Sandbox Code Playgroud)
该secret token
部分将在您的应用程序中修复,并且example@example.com
需要与电子邮件地址匹配.
当然,如果秘密令牌被揭露,你就会回到任何取消订阅所有人的人身上.您还可以在数据库中存储每用户魔法令牌,以验证URL中的令牌,这不会比这更难,而且肯定更安全.
归档时间: |
|
查看次数: |
5393 次 |
最近记录: |