今回Mailmanを導入している中で勉強させてもらいましたが、Postfixはデフォルトでは/etc/hostsを見てません。
今回のMailman導入ではLAN内部でだけ使うホスト名にメールを配送させたかったので、hostsに書いときゃいいや、と思ったら配送できません、と来たもんだ。
Aug 17 09:49:05 sv02 postfix/smtp[25979]: EB7B217A1D: to=
, orig_to= , relay=none, delay=0.33, delays=0.2/0.11/0.02/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=ml.voodoomarketing.net type=A: Host not found)
以下のようにするとhostsを読ませることが出来るということで、早速設定。
disable_dns_lookups = Yes
が、こんどはHostsしか読まなくなってしまう。それじゃぁ通常の配送に困ってしまうので、この設定は不採用。
DNSかHostsか、という二者択一なので、そりゃぁDNSだろう、と。
メールサーバである玄箱にDNSサーバを立て、そこへvoodoomarketing.netのゾーンを作ってやって、メーリングアドレス用ホスト名にプライベートアドレス(192.168.?.???)を返すようにしたら問題なく思ったとおりに動くようになりました。
我が家レベルではHosts見てくれた方が柔軟で使い易いけれど、大きなネットワークだと、この方が都合が良いんだろうねぇ。スパム対策を考えたときにもDNSが引けないホストには配送しないっていうのは妥当な手法だと思う。