0
我試圖使用Outlook的憑據從Django發送SMTP電子郵件。我的代碼在本地主機上工作,但是當我將代碼上傳到生產服務器時,它不會。Django:生產服務器中的Outlook電子郵件smtp超時
如果我使用我的Gmail憑證,它也適用於生產,但它不適用於Outlook。所以,我認爲Outlook配置方式不同,但我不知道。
這是我的看法代碼:
def send_my_custom_email():
connection = mail.get_connection(
host = 'smtp-mail.outlook.com',
port = 25,
username = '[email protected]',
password = 'mypassword' ,
)
connection.open()
email2send = mail.EmailMessage('hello', 'hello', '[email protected]', to=['receiveremail'], connection=connection)
email2send.send()
connection.close()
我知道,我的配置設置是正確的,因爲它可以從本地主機發送電子郵件。這些是我的settings.py:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
我已經嘗試檢查Outlook設置,但我找不到有關SMTP使用的任何信息。
我確切的問題是:
- 展望需要在生產aditional的設置?
- 問題出在我的代碼或Outlook設置?
- 爲什麼它在localhost中工作,但它不在生產服務器中?
端口25在本地主機上工作。我嘗試了您的建議,並且它仍然在端口587上超時。還有另一個設置用於加密的SMTP TLS? – Nazkter
它在本地工作,因爲您的本地主機偵聽端口25. Outlook.com不會。您是否在使用端口587時指定了TLS? –
我從本地主機指向outlook服務器,我沒有使用本地SMTP服務器。我知道specigy TLS的唯一方法是在我的settings.py中放入「EMAIL_USE_TLS = True」,我不知道它是否必須在連接設置中配置 – Nazkter