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.05
        for <usergmail.com>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Fri, 12 Sep 2025 21:59:06 -0700 (PDT)



▼ 関連記事