簡體   English   中英

Django:生產服務器中的Outlook電子郵件SMTP超時

[英]Django: Outlook email smtp timeout in production server

我正在嘗試使用我的Outlook憑據從Django發送SMTP電子郵件。 我的代碼可以在localhost上運行,但是當我將代碼上傳到生產服務器時卻不能。

如果我使用我的Gmail憑據,它也可以在生產環境中使用,但不適用於Outlook。 因此,我認為Outlook的配置方式不同,但我不知道。

這是我的查看代碼:

def send_my_custom_email():

    connection = mail.get_connection(
        host = 'smtp-mail.outlook.com',
        port = 25,
        username = 'myemail@outlook.com',
        password = 'mypassword' ,
        )
    connection.open()

    email2send  = mail.EmailMessage('hello', 'hello', 'myemail@outlook.com', to=['receiveremail'], connection=connection)

    email2send.send()
    connection.close()

我知道我的配置設置正確,因為它可以從本地主機發送電子郵件。 這些是我的settings.py:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True

我已經嘗試檢查Outlook設置,但是找不到有關SMTP使用的任何信息。

我的確切問題是:

  1. Outlook在生產中是否需要其他設置?
  2. 問題出在我的代碼中還是在Outlook設置中?
  3. 為什么它可以在localhost中工作,但不能在生產服務器中工作?

Outlook.com僅允許在端口587上進行加密的SMTP TLS連接。它甚至不偵聽端口25,這就是為什么您超時的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM