如何驗證從自己的伺服器到Google中繼 SMTP 服務的電子郵件是否使用 TLS

如何驗證從自己的伺服器到Google中繼 SMTP 服務的電子郵件是否使用 TLS

我有一個只發送郵件的伺服器,如下:

django/python --> postfix -----> smtp-relay.gmail.com -----> destination

當我打開收到電子郵件的 Gmail 用戶端並檢查詳細資訊時,它顯示:security: Standard encryption (TLS) Learn more

現在我懷疑它來自smtp-relay.gmail.com--> gmail 目的地的說法是 TLS,但我擔心我正在以純文字形式從 postfix 發送電子郵件到smtp-relay.gmail.com.

我的後綴設定檔有: relayhost = smtp-relay.gmail.com:587

但是如果我將其設為: relayhost = smtp-relay.gmail.com:25

它也有效。

這是我遵循的教程

如果我將 django 設定為EMAIL_USE_TLS = True並嘗試發送電子郵件,則會失敗並顯示:

 File "/usr/lib/python3.8/smtplib.py", line 755, in starttls
    raise SMTPNotSupportedError(
smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.

這讓我認為它沒有使用 TLS,但我不知道如何驗證。

答案1

您想要查看Received:收到的郵件標頭,也就是 Google 追蹤您的郵件從 Postfix 伺服器傳輸到第一個 Google 伺服器的行。該標頭應將協定指定為 ESMTPS- 第二)S發出安全通道訊號。

將會有另一個Received:標頭,您的 Postfix 伺服器會在其中記錄從 django/python 收到的訊息,但如果保證該提交永遠不會離開您的電腦(從::1到 的連接::1),則無需擔心該連接是否使用任何傳輸安全性。

通常,此類追蹤標頭還包含有關所使用的特定協議版本和密碼的資訊(Google 似乎大多數時候都是這樣做的)。

如果您知道您的郵件伺服器不應該發送未加密的郵件 - 因為您向現代提供者發送郵件,或者您正在中繼全部您傳送給 Google 的郵件 - 考慮透過smtp_tls_security_level您的 postfix 設定強制執行該操作。查看一則訊息只會告訴您,在這個特定實例中,一切正常。您可能不希望它將來默默地回退到未加密的提交。

相關內容