Postfix, Dovecot用の複数ドメイン[マルチドメイン]TLS証明書の取得(同一IPアドレス)

1つの仮想OS上で複数ドメインに対応した送受信メールサーバの構築の為、PostfixとDovecotのTLS設定周りを確認したのだが、設定できる証明書は1ファイルのみで複数の指定は現時点不可。今回は複数ドメイン(e.g. example.com, fxample.net等)を1ファイルまとめた証明書を作成することで対応する為(※)、Open CAであるLet’s Encryptのクライアントソフトウェア(certbot)を用いて証明書を取得する手順を紹介する。
※証明書に別ドメインが内包される点を許容できない場合は記事末尾の参考サイトをご参照。

実行環境

CentOS 7, certbot 0.39.0, Postfix 3.4.7, Dovecot 2.2.36

マルチドメイン内包のTLS証明書の取得コマンド

(ご参考) 認証に用いるWebサーバ(Nginx)側の設定については下記リンクに記載している。
Nginx: Let’s EncryptのTLS/SSL証明書の更新方法(手動)

証明書の保管先フォルダドメイン名は最初に指定したドメイン名となる。後は当該ファイルはPostfix、Dovecotのconfファイルへ指定し関連設定を行う。

Postfix – /etc/postfix/main.cf

Dovecot – /etc/dovecot/conf.d/10-ssl.conf

Postfix, Dovecot全般の設定については今後別途記事でまとめる予定。

追記(2020-04-19):
上記の設定だと、Mac Mailクライアントを用いた場合は下記のエラーメッセージがdovecotログに出力され、クライアント側でメール受信ができない事象が発生。

解決法は各ドメイン用のSSL証明書を個別に取得の上、10-ssl.confファイルの設定を以下の通り修正する。local_nameディレクティブでドメイン毎に使用する証明書の設定が可能。

参考サイト