元々SMTPには認証はない。のでメールを配信(リレー)したい場合は何等かの認可が必要になる。基本的には社内メールのリレーであれば接続元(IP)の認証で済むのだが(smtpd_recipient_restrictions=permit_mynetworks)、今の環境はRootlessで動かしたいので、MTAのListenポートを1025にしている。
ここで問題になるのがコンテナ内へのポート転送はマスカレードされるということ、コンテナプロセスへの接続元(IP)はすべて10.0.2.100になってしまう。
かといってrootで動かしたくないし、network=host もやりたくない、そうなるとSMTPに認証をつける必要がでてくる。
そしてSASL(Simple Authentication and Security Laye)による認証が必要になる。
saslpasswd2 を試してみると、htpasswdみたにファイルとしてDBをつくってくれるものと思っていたら、SASL用のフォルダを掘って、あたらしい設定ファイルを加えたり、Postfix側の権限を調整したりと以外と面倒。。
この際、IMAPも検討してみることにした。がやはり実装が重そう。
「Dovecot」 Postfixとの相性がいい、柔軟性がある、いまのデファクトスタンダードらしい、GPTが一番推してくる。「CyrusIMAP.」は設定がかなり複雑「CourrierIMAP wiki」は確か以前はこれ使ってたよな。。と思いつつみてみると更新が停滞気味。
✔ 比較まとめ(実務目線)
| 構成 | 難易度 | 柔軟性 | おすすめ度 |
|---|---|---|---|
| Dovecot | ★★ | ★★★★★ | ★★★★★ |
| Cyrus IMAP | ★★★★★ | ★★★★★ | ★★ |
| Courier | ★★★ | ★★★ | ★★ |
| Cyrus SASLのみ | ★★ | ★★ | ★★★ |
Dovecot検証環境を作っていた疲れたので本日はこれまで、あとWikiの記事を追加