我试图在我的网站上实施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",]
)
邮件发送,它显示在mailgun日志中,一切都很好。
但是尝试使用内置的django注册密码重置并没有做任何事情。
日志显示没有错误,所有模板都在正确的位置,它说密码重置工作但我的收件箱中没有电子邮件显示,mailgun日志中没有任何内容,甚至垃圾邮件箱中也没有。
根本没有电子邮件显示。我怎样才能做到这一点?
编辑:
这也有效,但仍无法恢复:
from django.core.mail.message import EmailMessage
EmailMessage('hello','hello',recipients="my_email@gmail.com").send(False)
答案 0 :(得分:3)
我找到了答案,并没有在其他地方出现。
对setter
的调用有效,因为它会强制发送电子邮件。
但是,密码恢复有很多间接性,其中一项检查是用户has_usable_password
,当你在测试期间使用虚拟用户时,我忘了这样做。
因此,请确保您的用户在尝试恢复密码之前设置了密码。