在我的Django网站上,我有一个联系表格。如果提交了联系表单,则需要向用户和管理员发送电子邮件。当 DEBUG 为True时,电子邮件已发送。但是当 DEBUG 为False时,它不会发送邮件。我在这里使用 Django邮件。
settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'email@gmail.com'
EMAIL_HOST_PASSWORD = 'abc123'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
答案 0 :(得分:0)
首先,当DEBUG为True时,电子邮件已发送,电子邮件是由SMTP服务器发送还是仅在控制台中打印电子邮件?您是否也在使用SMTP电子邮件后端进行EMAIL_BACKEND设置,或者您正在使用console.backend进行开发设置?因为通常你应该在发展情绪时将Email_backend设置为console.backend。 其次,当你切换到生产情绪时,应用程序将不会发送邮件,你有没有收到任何错误?你测试了谷歌smtp服务器连接吗?(详细信息请查看:https://docs.djangoproject.com/en/1.11/topics/email/#smtp-backend)有时你必须为google smtp服务器设置ssl_certfile和ssl_keyfile取决于你的谷歌smtp安全级别。