带SMTP后端的django send_mail无法发送电子邮件

时间:2011-07-11 03:32:47

标签: django email smtp

我正在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邮件系统的教程?感谢。

1 个答案:

答案 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实例时打开该端口非常重要。