3

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

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

4

1 回答 1

4

我会做这样的事情

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

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

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

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

于 2015-11-19T17:58:47.113 回答