1
sendmail でのセカンダリMX設定 備忘録
以前使っていたセカンダリMXが使えなくなっていたのを放置していたので、某サーバの sendmail を設定した備忘録。基本的な考え方は
- DNS の MX レコードに primary より大きな数字の MX として FQDN を登録
- 自分が第三者から受け取って relay していいドメインを設定する
- relay 先の static な経路として primary サーバを指定する
DNS にはセカンダリMXに使うサーバを数字の大きな MX で登録する。
mydomain.example.com. IN MX 10 mail.mydomain.example.com
mydomain.example.com. IN MX 20 secondarymx.mydomain.example.com
sendmail 側の設定は、概ね
NETWORKWORLD Online - メールサーバ運用管理 一問一答! 第2回 の通り。リレー配送を許可するドメインは
/etc/mail/relay.domains に記載。
mydomain.example.com
primary サーバへの配送は sendmail.cf で mailertable の設定が有効になっていない場合は .mc から以下の設定を組み込んだ上で cf を再構築しておく。
FEATURE(`mailertable', `hash /etc/mail/mailertable')
/etc/mail/mailertable にて
mydomain.example.com smtp:[mail.mydomain.example.com]
のように記載し、db を構築
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
その後、sendmail を再起動。設定後は 3rd relay の設定等を色々と確認しておこう。
2
secondary mx に溜まったメールの強制配送
mailq にメールが溜まっている場合、sendmail で mailq を flush するには
# sendmail -qf
を実行する。基本的には queuerunner が自動的に再送信してくれるので、急ぐとき以外は実行する必要はない。