Сброс пароля 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, который, когда вы работаете с фиктивными пользователями во время тестирования, я забыл сделать.

Поэтому убедитесь, что у ваших пользователей установлен пароль, прежде чем пытаться восстановить пароль.

Другие вопросы по тегам