FreeBSD14上のPostfixのTLS暗号化を設定してメール送信
サーバーから通信経路を暗号化した方が、評価(レピュテーション)が良くなるということで対応したときの覚書。
Gemini 2.5 Pro
環境: FreeBSD 14.3-RELEASE-p2, Postfix 3.10.3
Postfixのバージョンを確認するコマンド。
-d オプションは、Postfixに組み込まれているデフォルト値を表示。
# postconf -d mail_version
mail_version = 3.10.3
Postfix設定の設定変更
メール送信するだけならば、SMTP通信で接続する先のTLS証明書を使うので、TLS証明書を取得する必要はない。
smtp_tls_CApathは信頼できる認証局(CA)が記載されているパス。
FreeBSD14ではTLS通信がデフォルトで無効になっている。
ちなみにCentOS Stream 9のPostfixはデフォルトで有効。
main.cfの変更
# less /usr/local/etc/postfix/main.cf
smtp_tls_CApath = /etc/ssl/certs## STARTTLS 設定 (送信: smtp)## "may" は「相手サーバーがTLSに対応していれば使う」という日和見暗号化です。smtp_tls_security_level = may# ログにTLSのネゴシエーション情報を記録するレベル。smtp_tls_loglevel = 1
テストして再読み込み。
# postfix check
# service postfix reload
別コンソールでmaillogを監視する。
# tail -f /var/log/maillog
Gmailへ送信してみる。
# mail user@gmail.com
maillogに次のようなログが出力されていればTLS通信している。
postfix/smtp[28470]: Trusted TLS connection established to gmail-smtp-in.l.google.com[2404:...::1a]:25: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256
受信したメールヘッダーを確認する。
Received: from s01.hoge.jp (hoge.jp. [2400:...:135])by mx.google.com with ESMTPS id d2e1a72fcca58-77607a44dd9si3598261b3a.178.2025.09.12.21.59.05for <usergmail.com>(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);Fri, 12 Sep 2025 21:59:06 -0700 (PDT)