我正在ubuntu堆栈上部署一个Django项目,其中包含一个postfix SMTP邮件服务器,托管在Amazon的EC2上。我可以使用Linux邮件程序从服务器发送电子邮件。但是当我尝试使用django.core.mail.send_mail发送电子邮件时,从未收到该电子邮件。
以下是我的设置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
我将其他所有内容都保留为默认值。
我试过
python manage.py shell
然后在shell中,我做了
from django.core.mail import *
send_mail(
'TEST',
'THIS IS A TEST',
'myemail@domain.com',
['toemail@domain.com'],
fail_silently=False,
)
返回1,但我从未在目的地收到任何消息(示例中为“toemail@domain.com”)。
是否有关于如何配置SMTP服务器以使用Django邮件系统的教程?感谢。
答案 0 :(得分:1)
我假设你在settings.py中确实指定了你的EMAIL_HOST,EMAIL_PORT,EMAIL_HOST_USER和EMAIL_HOST_PASSWORD吗?
详细解释了默认django.core.mail.backends.smtp.EmailBackend如何工作 - https://docs.djangoproject.com/en/dev/topics/email/ https://docs.djangoproject.com/en/dev/topics/email/#smtp-backend
特别是对于您的电子邮件端口,您确实在EC2的安全组下打开了smtp端口?如果在后缀配置期间将SMTP端口保留为默认值,则SMTP端口通常默认为25,并且在创建EC2实例时打开该端口非常重要。