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

use*_*494 6 email django smtp

我正在一个ubuntu堆栈上部署一个Django项目,该服务器上有一个postfix SMTP邮件服务器,托管在亚马逊的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,
    )
Run Code Online (Sandbox Code Playgroud)

这返回1,但我从未在目的地收到任何消息(示例中为"toemail@domain.com").

是否有关于如何配置SMTP服务器以使用Django的邮件系统的教程?谢谢.

Cal*_*eng 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 端口?如果您在 postfix 配置期间将 SMTP 端口保留为默认值,则 SMTP 端口通常默认为 25,并且在创建 EC2 实例时打开该端口非常重要。