我目前正在使用PHPMailer向邮件列表发送电子邮件,但是我希望创建一个取消订阅功能,因为我不能在良心上不给出选项。
我面临的唯一问题是以安全的方式做到这一点。到目前为止我想到的是在我的网站上添加一个href链接到http://example.com/unsubscribe.php?email=useremail@test.com之类的页面,但是使用这种方法,任何人都可以删除他们想要的任何电子邮件,或删除整个邮件列表。我不确定如何绕过这个问题。我的MySQL数据库只包含一个唯一的电子邮件ID,它只是它们在数据库中的位置(添加的第一封电子邮件的ID为1,第二封电子邮件的ID为2,依此类推)和电子邮件地址本身的列。
答案 0 :(得分:2)
我会做这样的事情
http://example.com/unsubscribe.php?email=useremail@test.com&token=XXXXXXXXXXXXXXX
$_GET["token"] = hash_hmac('sha256', $email.$email_id, $site_salt);
如果令牌有效,则处理订阅。
P.S。我不确定为什么你的猜测是因为你没有意识到你在法律上要求提供取消订阅。