postfix とdovecot (SMTP Auth) でvirtual

メールサーバのリプレイスをするので記録がてら最新の動向をつかもうとした記録。(Wordpressのブロックエディターに慣れるというのも…)

前提条件と目標

・さくらVPS(V5)
・CentOS8でインストールして、CentOS 8 Streamへ移行
・postfix ,dovecotなどをRPMにて。(epelをLets encrypt用に)
・SMTP Authを以前はCyrus-SASLで管理してたけど、dovecotに任せることに。(dovecot-SASLというらしい)
・dovecotのユーザー管理をpam(OSユーザー)からバーチャルメールボックスに変更してメールサーバのみでアカウント管理を行う。
・dovecotのユーザー管理を1つのファイルでやっていたのをユーザーごとのファイルで管理。(これはドキュメントにもないので、いつ仕様変更になるかヒヤヒヤしながら運用かも)
・DKIMの署名をする/署名の確認をする。
・メールAliasは/etc/postfix/virtualで管理
・メール振り分けにprocmail
・Lets encryptで証明書を取得

参考にしたURLやスクリプト

やっぱり、2012~2016のようなところに構築された情報が多く検索に引っかかるのでそれをベースに。あと、さくらVPSでスタートスクリプトにてメールサーバを選択すると、今回の条件にかなり近いサーバが構築できるのでそれも参考にした。

Postfixでバーチャルメールボックスを有効にし、バーチャルドメイン宛てのメールを受け取る – Postfix Tips & FAQ
https://www.ipentec.com/document/linux-postfix-enable-virtual-domain-and-virtual-mailbox
2016年投稿記事。CentOS7 という点、Cyrus-SASLを選択している点などが違うけれど、基本的にバーチャルメールボックスの構築がわかる。

CentOS 6, CentOS 7のDovecot(バージョン2)でPostfixのバーチャルメールボックスにアクセスできるようにする
https://www.ipentec.com/document/linux-dovecot-read-postfix-virtual-mailbox-for-centos6
2016年投稿記事。バーチャルメールボックスのユーザー追加方法、SSLを利用しない設定(一時的にせよ)やPlainを許可する設定のやり方が嬉しい(SSL設定する前に動作確認したいし)

SMTP-AUTH(認証機能)を使ったメール送信 Postfix + dovecot の設定
https://web-creators-hub.com/linux/postfix2/
2020年投稿記事。postfix のSMTP Authの説明が詳しくてわかりやすい。postfixとdovecotの連携ソケットファイルなどが階層浅くてうれしい。OSユーザー認証なのでその点は違う。

CentOS8でサーバー構築 – 2.Postfix+Dovecot(MTA)
https://www.kowloonet.net/2020/05/centos8-2postfixdovecotmta.html
submissionポートの開放の仕方がさらっと書かれていてわかりやすい。SSLなどは同じサイトのリンクがあるのでとても参考になる。Cyrus-SASLでsaslauthdを利用しているところは違う。

FAQ – CentOS Project shifts focus to CentOS Stream
https://centos.org/distro-faq/#q7-how-do-i-migrate-my-centos-linux-8-installation-to-centos-stream
CentOSの公式で書かれているStreamへの移行コマンド