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