send_mail在本地工作,但不在生产托管

以下工作在本地,但当我将其部署到Digital Ocean的生产托管时,电子邮件不会像我在下面的shell命令(python manage.py shell)上测试一样发送。 send_mail行刚刚卡在那里,出现错误:[Errno 101]几分钟后网络无法访问。如何捕获电子邮件发送中的错误?请告知我如何解决这个问题。send_mail在本地工作,但不在生产托管

from django.core.mail import send_mail 

send_mail('test email', 'hello world', '[email protected]', ['[email protected]'],fail_silently=False)

# Email settings

EMAIL_USE_TLS = True

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.gmail.com'

EMAIL_HOST_PASSWORD = 'xxxx' #my gmail password

EMAIL_HOST_USER = '[email protected]' #my gmail username

EMAIL_PORT = 587

DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

回答:

你的Django应用程序设置看起来是正确的,但你也应该头向https://accounts.google.com/DisplayUnlockCaptcha,并确保你能获得较低的安全应用。

如果您使用的是双因素验证,请考虑creating an application-specific password。

以上是 send_mail在本地工作,但不在生产托管 的全部内容, 来源链接: utcz.com/qa/263039.html

回到顶部