Django 2 电子邮件退订 link
Django 2 email unsubscribe link
我想在发送给用户的电子邮件中添加取消订阅 link。我不确定如何实现它。我希望用户无需登录即可取消订阅。任何有关如何实现此目的的建议都将不胜感激。谢谢
我假设您知道如何使用 Django 发送电子邮件以及其他基本知识。
对于您发送给他们的每封电子邮件,您必须先构建取消订阅 link,如下所示。请注意,下面有一个 url 模式,以及一个采用 uuid 字段的模型(具体为 uuid4,因为它是最安全的)。你想这样做的原因是随机的人不能去 YourWebsite.com/unsub_email/1, /2, /3, /4, etc,
并通过猜测数字尽可能多地取消订阅。通过按照我展示的方式进行操作,大约有 100 分之一的机会,后面有 50+ 个零,他们甚至会得到 1。所以它更安全。
def send_user_an_email(id_of_your_object):
users_email = UsersEmail.objects.get(id=id_of_your_object)
unsub_link = 'https://www.YourWebsite.com/unsub_email/{}/{}/'.format(users_email.id, users_email.random_uuid)
subject = 'Your subject line.'
message = 'Your message body.\n\nGo here to unsubscribe: {}'.format(unsub_link)
mail_sent = send_mail(subject, message, 'DoNotReply@YourWebsite.com', [users_email.users_email_char_field])
return mail_sent
然后您只需编写一个函数,让他们单击该页面上的一个按钮,他们就会取消订阅,或者您想要这样做。一个更安全的选择是向他们展示一个有效的取消订阅页面,但让他们再次输入他们的电子邮件,但不向他们展示与有效 url 模式相关的电子邮件。这个额外的步骤会让想要编写糟糕脚本的人更难取消订阅您列表中的每个人。
我想在发送给用户的电子邮件中添加取消订阅 link。我不确定如何实现它。我希望用户无需登录即可取消订阅。任何有关如何实现此目的的建议都将不胜感激。谢谢
我假设您知道如何使用 Django 发送电子邮件以及其他基本知识。
对于您发送给他们的每封电子邮件,您必须先构建取消订阅 link,如下所示。请注意,下面有一个 url 模式,以及一个采用 uuid 字段的模型(具体为 uuid4,因为它是最安全的)。你想这样做的原因是随机的人不能去 YourWebsite.com/unsub_email/1, /2, /3, /4, etc,
并通过猜测数字尽可能多地取消订阅。通过按照我展示的方式进行操作,大约有 100 分之一的机会,后面有 50+ 个零,他们甚至会得到 1。所以它更安全。
def send_user_an_email(id_of_your_object):
users_email = UsersEmail.objects.get(id=id_of_your_object)
unsub_link = 'https://www.YourWebsite.com/unsub_email/{}/{}/'.format(users_email.id, users_email.random_uuid)
subject = 'Your subject line.'
message = 'Your message body.\n\nGo here to unsubscribe: {}'.format(unsub_link)
mail_sent = send_mail(subject, message, 'DoNotReply@YourWebsite.com', [users_email.users_email_char_field])
return mail_sent
然后您只需编写一个函数,让他们单击该页面上的一个按钮,他们就会取消订阅,或者您想要这样做。一个更安全的选择是向他们展示一个有效的取消订阅页面,但让他们再次输入他们的电子邮件,但不向他们展示与有效 url 模式相关的电子邮件。这个额外的步骤会让想要编写糟糕脚本的人更难取消订阅您列表中的每个人。