Django:SMTPrecipients已为EmailBackend提供,但不是smtplib
我使用settings.py中的以下设置设置Django的密码恢复过程:Django:SMTPrecipients已为EmailBackend提供,但不是smtplib,django,Django,我使用settings.py中的以下设置设置Django的密码恢复过程: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.someserver.com' # mail service smtp EMAIL_HOST_USER = 'someone@fakeserver.com' # email id EMAIL_HOST_PASSWORD = 'my password' #passw
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.someserver.com' # mail service smtp
EMAIL_HOST_USER = 'someone@fakeserver.com' # email id
EMAIL_HOST_PASSWORD = 'my password' #password
EMAIL_PORT = 465
EMAIL_USE_SSL = True
在我的应用程序的其他地方,我使用smtplib
发送电子邮件,使用相同的服务器设置没有任何问题
但是,当我测试密码恢复过程时,它失败并出现以下错误:smtprecipientsreference451临时本地问题-请稍后重试
我尝试了几种服务器设置,但没有成功。出现SMTPRecipientsRefused(451)错误,因为服务器拒绝了电子邮件。这个问题之所以难以解决,是因为错误并不能准确地告诉您出了什么问题
我最终在StackOverflow上发现,我缺少一个设置,即电子邮件中的DEFAULT\u
。我的最终工作设置如下所示:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.fakeserver.com' # mail service smtp
EMAIL_HOST_USER = 'someone@fakeserver.com' # email id
EMAIL_HOST_PASSWORD = 'my password' #password
EMAIL_PORT = 465
EMAIL_USE_SSL = True
DEFAULT_FROM_EMAIL = 'someone@fakeserver.com'
请注意,DEFAULT\u FROM\u EMAIL
值必须与EMAIL\u HOST\u USER
值相同