我创建了一个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
非常感谢提前。
答案 0 :(得分:1)
如果这在本地工作并且您在生产中使用相同的设置,这可能意味着您从实时服务器到smtp服务器的连接被阻止,或者smtp服务器拒绝来自您的实时服务器所在的IP范围的请求英寸
您可以从实时服务器ping SMTP服务器吗?如果没有,请尝试检查防火墙规则并运行跟踪以查看请求被阻止的位置。
如果SMTP服务器阻止了您的IP范围(如果您使用的是EC2或其他云提供商,则可能),那么您可能需要联系SMTP提供商(在这种情况下为Microsoft),并让他们将您的IP列入白名单。