Django + EC2不会向Gmail发送电子邮件

时间:2012-06-22 20:08:52

标签: django email amazon-ec2

我们在Amazon EC2实例上运行了一个Django webapp。我们使用Django django.core.mail.send_mail()函数发送电子邮件。这不适用于Gmail帐户,但它适用于其他帐户 - 特别是我的大学帐户,通过Gmail运行,收到邮件没有任何问题。检查/var/log/syslog会显示:

Jun 22 19:50:43 apatapa postfix/smtp[7625]: 4D80524B4F: to=<NAME@gmail.com>, relay=none, delay=120, delays=0.02/0.01/120/0, dsn=4.4.1, status=deferred (connect to alt3.gmail-smtp-in.l.google.com[173.194.70.26]:25: Connection timed out)

寄到大学帐户:

Jun 22 19:54:49 apatapa postfix/smtp[7658]: 0570A24B57: to=<NAME@COLLEGE.edu>, relay=COLLEGE.edu.s10a1.psmtp.com[74.125.244.10]:25, delay=2.4, delays=0.02/0.01/0.36/2, dsn=2.0.0, status=sent (250 Thanks)

为了确定,我使用了traceroute,发送到大学帐户的电子邮件实际上是通过Gmail的服务器。

关于可能导致这种情况的任何想法?

2 个答案:

答案 0 :(得分:0)

您的域名到该EC2节点是否有A条目?您是否有该域的反向DNS条目? How do you make sure email you send programmatically is not automatically marked as spam?

答案 1 :(得分:0)

检查此服务器所分配的安全组的访问规则。 “超时”消息看起来像是真正的网络超时,而不是延迟,Gmail不会执行“灰色”列表。另一件看起来很可疑的事情是你的大学电子邮件mx记录实际上指的是Postini,而不是Gmail。谷歌拥有Postini,他们为托管帐户提供它,但它有自己的mx服务器,不使用Gmail的mx。这意味着邮件最终将通过Postini的mx服务器到达Gmail的服务器。