自社サーバーから Google リレー SMTP サービスへのメールが TLS を使用していることを確認する方法

自社サーバーから Google リレー SMTP サービスへのメールが TLS を使用していることを確認する方法

次のように、メールを送信するだけのサーバーがあります。

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

メールを受信した Gmail クライアントを開いて詳細を確認すると、次のように表示されます。security: Standard encryption (TLS) Learn more

現在、from --> gmail の宛先が TLS であると表示されていると思われますsmtp-relay.gmail.comが、postfix から にプレーンテキストでメールを送信しているのではないかと心配していますsmtp-relay.gmail.com

私の postfix 設定ファイルには次の内容が含まれています: 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サーバーにメッセージが送信されたことをトレースする行を確認します。そのヘッダーにはプロトコルがESMTPとして指定されているはずです。- 二番目)安全なチャネルを通知します。

Postfix サーバーが django/python からのメッセージの受信を記録する別のヘッダーがありますReceived:が、その送信がマシンから決して送信されないことが保証されている場合 (から への接続::1) ::1、その接続でトランスポート セキュリティが採用されているかどうかはほとんど問題になりません。

このようなトレース ヘッダーには、使用される特定のプロトコル バージョンと暗号に関する情報も追加で含めるのが通例です (Google はほとんどの場合、これを実行しているようです)。

メールサーバーが暗号化されていないメールを送信しないことがわかっている場合、排他的に現代のプロバイダにメールを送信するか、中継する全てGoogle へのメール - smtp_tls_security_levelPostfix 設定でこれを強制することを検討してください。 1 つのメッセージを見ると、この特定のインスタンスではすべてが正常に機能したことがわかります。 将来、暗号化されていない送信に自動的にフォールバックしないようにする必要があるかもしれません。

関連情報