2013-11-21 59 views
0

我已經創建了一個Django應用程序發送電子郵件與Outlook帳戶。到目前爲止,它在本地工作,但我無法使其在線工作。我應該改變EMAIL_PORT中的某些內容還是添加其他內容?發送電子郵件在Django當地工作,但不在線

這是我的設置文件:

EMAIL_HOST = 'smtp-mail.outlook.com' 
EMAIL_HOST_USER = '[email protected]' 
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) , '[email protected]',[email], fail_silently=False) 
except: 
    # add not sent to my DB 

提前非常感謝。

+0

確保正確的設置正在加載到您的「在線」環境中。如果本地工作,則不應更改「EMAIL_PORT」。 –

回答

0

如果這在本地工作,並且您在生產中使用相同的設置,這可能意味着您從活動服務器到smtp服務器的連接被阻止,或者smtp服務器拒絕來自您的活動服務器的IP範圍的請求駐留於。

您可以從實時服務器ping SMTP服務器嗎?如果沒有,請嘗試檢查您的防火牆規則並運行跟蹤以查看請求被阻止的位置。

如果SMTP服務器阻止了您的IP範圍(如果您使用的是EC2或其他雲提供商,則可能需要),那麼您可能需要聯繫SMTP提供商(本例中爲Microsoft),並讓他們將您的IP列入白名單。

+0

謝謝。由於某種原因,我的Outlook帳戶似乎被暫時封鎖了。不管怎麼說,還是要謝謝你! – user2935750