
今回はセカンダリメールサーバの簡単作成方法のご紹介です!
セカンダリメールサーバの役割とは
プライマリメールサーバが障害やメンテナンス等でダウンしている時にメールを受信してストックし、プライマが復旧した時に、セカンダリはプライマリにメールを再送することで、問題を軽減したりメンテナンスをしやすくするストレージの役割を担う凄いやつ、普段はぼけーと仕事をしませんがあると便利です。
まずはDNSレコード設定
バリュードメインの無料DNSを利用して下記のように設定します。
a mail1 150.xxx.yyy.186 a mail2 150.zzz.aaa.172 mx mail1.example.net 10 mx mail2.example.net 20
プライマリの優先度は10, セカンダリは20としています。
- ドメイン
example.net - プライマリメールサーバ
mail1.example.net - セカンダリメールサーバ
mail2.example.net
セカンダリメールサーバ設定
設定はこれだけ
# vi /etc/postfix/main.cf #inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost #inet_interfaces = localhost inet_interfaces = all transport_maps = hash:/etc/postfix/transport relay_domains = example.net maximal_queue_lifetime = 20d bounce_queue_lifetime = 20d
存在しないメールアドレスに対する対処をする場合はもう少し設定が必要です。
# vi /etc/postfix/transport example.net smtp:[mail1.example.net]
# postmap /etc/postfix/transport
# postfix check # systemctl postfix restart
不正中継テスト
悪用されないように確認しよう
http://www.antispam-ufrj.pads.ufrj.br/test-relay.html

大丈夫ですね。
動作テストをしようね
疑似的にプライマリメールサーバに障害を起こして、セカンダリメールサーバが機能するかチェックします。
プライマリ―メールサーバ側作業
Postfixの停止
# systemctl stop postfix
メールクライアント側作業
PCのメーラからプライマリサーバにメールを送ります。
セカンダリメールサーバ側作業
メールキューをチェックします。
# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
5CEF91214A5 605 Tue Jun 25 22:36:39 root@hoge.com
(connect to mail1.yuutest.space[150.xxx.yyy.186]:25: Connection refused)
yuu@example.net
きちんとメールが届いてますね
プライマリ―メールサーバ側作業
Postfixの起動
# systemctl start postfix
セカンダリメールサーバ側作業
強制再送
# postfix flush
メールキューの確認
# mailq Mail queue is empty
キューをすべて吐き出していることがわかるね!
プライマリ―メールサーバ側作業
メールログの確認
# tail -f /var/log/maillog Jun 26 11:42:50 150-95-129-186 postfix/local[6799]: 9632C1214AB: to=<hoge@example.net>, relay=local, delay=0, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
受信出来ていることがわかります。
快適なメールライフを送って下さいね!
お疲れ様です。
