Сброс пароля Django не работает с django-anymail
Я пытаюсь реализовать django-anymail на своем сайте, и у меня возникли проблемы.
Используя эти настройки:
ANYMAIL = {
"MAILGUN_API_KEY": "key-hahahahahahahahhaha... no",
}
EMAIL_BACKEND = "anymail.backends.mailgun.MailgunBackend"
DEFAULT_FROM_EMAIL = "account-recovery@mg.mycooldomain.com"
Это отлично работает:
send_mail(
"Test it!",
"A new user [%s] has signed up" % (username),
"Accounts <account-creation@mg.mycooldomain.com>",
["my_email@mycooldomain.com",]
)
Почту отправляю, в логах почтового пистолета она появляется, все хорошо.
Но попытка использовать встроенный сброс пароля регистрации django ничего не делает.
Журналы не показывают ошибок, все шаблоны находятся в нужном месте, в нем говорится, что сброс пароля сработал, но в моем почтовом ящике не отображаются электронные письма, в журналах почтового ящика ничего нет, и даже в поле для спама ничего нет.
Никакие электронные письма не появляются вообще. Как я могу сделать эту работу?
редактировать:
Также это работает, но до сих пор нет восстановления:
from django.core.mail.message import EmailMessage
EmailMessage('hello','hello',recipients="my_email@gmail.com").send(False)
1 ответ
Я разобрался с ответом, а в другом месте его не было.
Призыв к send_mail
работал так, как заставляет отправлять электронную почту.
Тем не менее, восстановление пароля имеет много косвенных, и одна из проверок, если пользователь has_usable_password
, который, когда вы работаете с фиктивными пользователями во время тестирования, я забыл сделать.
Поэтому убедитесь, что у ваших пользователей установлен пароль, прежде чем пытаться восстановить пароль.