Django EmailMessage.send()返回0.这是什么意思?

时间:2012-04-06 18:14:13

标签: python django email send

我在settings.py中有以下代码

#EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'sender@gmail.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 687

(我尝试使用TLS = True和端口使用端口25,567,465,687并尝试了smtp.gmail.com和其他来自MX记录的HOSTS,但我总是拒绝连接)

然后我尝试使用端口687并注释了TLS = True。我得到以下代码的返回值“0”

from django.core.mail import EmailMessage
email = EmailMessage('Subject', 'Body', 'me@gmail.com')
email.send()

我的收件箱中没有收到任何邮件。 0是什么意思?我做错了什么?

任何帮助将不胜感激,

谢谢,

的Pankaj。

2 个答案:

答案 0 :(得分:4)

如果您未指定任何收件人(to,bcc,cc),则EmailMessage将返回0。如果您没有收件人,则EmailMessage.send将返回0。

此外,谷歌默认的smtp端口是587.

答案 1 :(得分:0)

如果电子邮件发送配置为使用send_mass_mail静默失败。然后错误可能导致返回0消息发送。在这种情况下,您可能希望打开调试以查看实际错误或将发送配置为灾难性地失败以显示导致电子邮件未被发送的内容。 您必须检查您正在使用的电子邮件后端,因为不同的后端将以不同的方式输入,特别是在不同的后端用于测试和开发的情况下