【Postfix】Gmailの「赤い南京錠(暗号化されませんでした)」警告を消す!STARTTLS有効化手順

この記事は約3分で読めます。
この記事が役立ったらブックマーク! あとで読み返したり、環境構築時のリファレンスに活用できます
B! はてなブックマークに追加

自前のメールサーバーから Gmail 宛てに送信した際、SPF や DKIM、DMARC がすべて PASS しているにもかかわらず、差出人欄に「開いた赤い南京錠アイコン(このメールは暗号化されませんでした)」という不穏な警告が表示されることがあります。
この警告が出る原因と、Postfix の設定を数行追加して解決する手順を解説します。

発生した現象

メールを Gmail に送信し、受信メールの送信者詳細を開いたところ、以下のような警告が表示されました。

  • セキュリティ: 🔓 このメールは example.com で暗号化されませんでした

SPF や DKIM などの送信元認証をいくら正しく設定しても、この「赤い南京錠」は消えません。

原因:Postfix の「外向き通信(クライアント)」の暗号化が無効

メールの暗号化設定には、大きく分けて以下の2方向があります。

  1. 受信側(SMTP サーバー側): smtpd_tls_...(メールソフトや外部から自サーバーが受け取るときの暗号化)
  2. 送信側(SMTP クライアント側): smtp_tls_...(自サーバーから他サーバーへ配送するときの暗号化)

メールサーバー構築時の手順書では「1」の smtpd_...(d がつく方)ばかり設定されがちです。
その結果、自サーバーから Gmail のサーバーへ配送する通信区間が平文(非暗号化)のまま送られてしまい、Gmail 側で「暗号化されていない通信」として警告されてしまいます。

解決手順:Postfix で外向き TLS を有効化

Postfix の送信クライアント設定で、Opportunistic TLS(相手が対応していれば STARTTLS で暗号化する設定)を有効にします。

1. 設定コマンドを実行

ターミナルで以下のコマンドを実行します。

Bash
# 外部配送時の TLS 暗号化レベルを「可能なら暗号化(may)」に設定
sudo postconf -e "smtp_tls_security_level = may"

# 接続時の TLS ログ出力を有効化(確認用)
sudo postconf -e "smtp_tls_loglevel = 1"

# Postfix 設定を反映
sudo systemctl reload postfix

2. 設定の確認

反映されているか確認します。

Bash
postconf smtp_tls_security_level

出力が smtp_tls_security_level = may となっていれば完了です。

動作確認

設定完了後、再度 Gmail 宛てにテストメールを送信します。
Gmail で受信したメールの詳細を開き、以下のように表示が変わっていれば成功です。

  • セキュリティ: 🔒 標準的な暗号化(TLS)

赤い南京錠が消え、黒い閉じた南京錠アイコンと「標準的な暗号化(TLS)」の文字が表示されます。

まとめ

  • smtpd_... は受信用、smtp_... は送信用
  • smtp_tls_security_level = may を追加するだけで、Gmail などの外部サーバー宛て送信が自動的に STARTTLS で暗号化される
  • 送信認証(SPF/DKIM)と配送暗号化(TLS)を両立させて、Gmail の警告をゼロに抑える

コメント

タイトルとURLをコピーしました