0

以下内容在本地工作,但当我将其部署到 Digital Ocean 的生产托管时,电子邮件没有发送,因为我在 shell 命令(python manage.py shell)上进行测试,如下所示。send_mail 行刚刚卡在那里并且出现错误:[Errno 101] 几分钟后网络无法访问。如何捕获电子邮件发送中的错误?请告知我该如何解决此问题。

from django.core.mail import send_mail
send_mail('test email', 'hello world', 'xxxx@gmail.com', ['xxxx@gmail.com'],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 = 'xxxx@gmail.com' #my gmail username
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
4

1 回答 1

1

您的 Django 应用程序设置看起来正确,但您还应该前往https://accounts.google.com/DisplayUnlockCaptcha并确保您启用对安全性较低的应用程序的访问。如果您使用双重身份验证,

还可以考虑创建应用程序专用密码。

于 2017-12-18T23:20:23.423 回答