【问题标题】:Proper way to implement unsubscribe function [duplicate]实现取消订阅功能的正确方法[重复]
【发布时间】:2016-02-22 00:16:47
【问题描述】:

我目前正在使用 PHPMailer 将电子邮件发送到邮件列表,但是我希望创建一个取消订阅功能,因为我不能凭良心不给选项。

我面临的唯一问题是以安全的方式进行。到目前为止,我的想法是将 href 添加回我的网站,该链接将链接到 http://example.com/unsubscribe.php?email=useremail@test.com 之类的页面,但使用这种方法,任何人都可以删除他们想要的任何电子邮件,或删除整个邮件列表。我不确定如何绕过这个问题。我的 MySQL 数据库只包含一个唯一的电子邮件 ID,它只是他们在数据库中的位置(添加的第一封电子邮件的 ID 为 1,第二封电子邮件的 ID 为 2,依此类推)和电子邮件地址本身的列。

【问题讨论】:

标签: php mysql email unsubscribe


【解决方案1】:

我会做这样的事情

http://example.com/unsubscribe.php?email=useremail@test.com&token=XXXXXXXXXXXXXXX

$_GET["token"] = hash_hmac('sha256', $email.$email_id, $site_salt);

如果令牌有效,则处理订阅。

附:我不知道为什么我猜你投了反对票是因为你没有意识到法律要求你提供退订。

【讨论】:

  • 这真的很有用,谢谢!我确实有一个取消订阅功能,但它有点笨拙(它只是一个带有取消订阅主题的邮件)。
猜你喜欢
  • 2018-05-30
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
  • 2018-09-02
  • 2015-07-14
  • 2012-05-26
  • 1970-01-01
  • 2023-03-14
相关资源
最近更新 更多