【发布时间】:2016-02-22 00:16:47
【问题描述】:
我目前正在使用 PHPMailer 将电子邮件发送到邮件列表,但是我希望创建一个取消订阅功能,因为我不能凭良心不给选项。
我面临的唯一问题是以安全的方式进行。到目前为止,我的想法是将 href 添加回我的网站,该链接将链接到 http://example.com/unsubscribe.php?email=useremail@test.com 之类的页面,但使用这种方法,任何人都可以删除他们想要的任何电子邮件,或删除整个邮件列表。我不确定如何绕过这个问题。我的 MySQL 数据库只包含一个唯一的电子邮件 ID,它只是他们在数据库中的位置(添加的第一封电子邮件的 ID 为 1,第二封电子邮件的 ID 为 2,依此类推)和电子邮件地址本身的列。
【问题讨论】:
-
生成一个唯一的一次性令牌(也基于经过的时间),并使用该令牌在查询/列中定位用户的电子邮件。有很多解决方案。
-
就个人而言,我有点喜欢这个答案stackoverflow.com/a/17143081,您可以在点击链接时询问用户,他们的密钥,您确实应该将其添加到您的表格中。
-
在您的表中创建另一列并为每封电子邮件生成一个唯一令牌。然后,您可以将此令牌与电子邮件一起附加到取消订阅 URL。
-
对于那些偶然发现这个问题的人,仅供参考:这不仅仅是良心问题 - FTC 要求:ftc.gov/tips-advice/business-center/guidance/…
标签: php mysql email unsubscribe