在django发送电子邮件在本地工作但不在线

时间:2013-11-21 13:38:20

标签: django email smtp

我创建了一个Django应用程序,用于发送带有Outlook帐户的电子邮件。到目前为止它在本地工作,但我无法在网上工作。我应该更改EMAIL_PORT中的内容还是添加其他内容?

这是我的设置文件:

EMAIL_HOST = 'smtp-mail.outlook.com'
EMAIL_HOST_USER = 'xxxx@outlook.com'
EMAIL_HOST_PASSWORD = 'xxx'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

这是我的观点文件:

 t = loader.get_template('email2.html')
 c= Context({'customer':customer,})

 try:
    send_mail('Thanks for your order', t.render(c) , 'chocolatchocolat@outlook.com',[email], fail_silently=False)
 except:
    # add not sent to my DB

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

如果这在本地工作并且您在生产中使用相同的设置,这可能意味着您从实时服务器到smtp服务器的连接被阻止,或者smtp服务器拒绝来自您的实时服务器所在的IP范围的请求英寸

您可以从实时服务器ping SMTP服务器吗?如果没有,请尝试检查防火墙规则并运行跟踪以查看请求被阻止的位置。

如果SMTP服务器阻止了您的IP范围(如果您使用的是EC2或其他云提供商,则可能),那么您可能需要联系SMTP提供商(在这种情况下为Microsoft),并让他们将您的IP列入白名单。