Я предполагаю, что вы знаете, как отправить электронное письмо с помощью django и других базовых вещей.
Для каждого отправляемого им электронного письма сначала необходимо создать ссылку для отмены подписки, как показано ниже.Обратите внимание, что у следующего есть шаблон URL и модель, которая принимает поле uuid (точнее, uuid4, потому что это самый безопасный).Причина, по которой вы хотите сделать это таким образом, заключается в том, что случайные люди не могут перейти на YourWebsite.com/unsub_email/1, /2, /3, /4, etc,
и отписать как можно больше людей, угадав число.Делая это так, как я показываю, есть что-то вроде шанса 1 из 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.Из-за этого дополнительного шага кому-то, кто захочет написать плохой сценарий, будет намного сложнее удалить всех из вашего списка.