sendmailで特定のドメイン宛メールのみ中継する
あるアプリケーションがメールを発信するんだけど、スパマーにならないように社内ドメイン以外のメールは弾くようなsmtpを準備してほしいとの要請。
さて、どうすればいいかと調べることしばし。mailertableを使えばいいらしい。sendmail.orgのcfの解説と、ここを参考にしました。
mailertableを有効にする
cf/cf/sendmail.mcに以下の行を追加。
FEATURE(`mailertable')dnl
sendmail.cfを作成して、/etc/mailへコピー。
$ make sendmail.cf # cp ./sendmail.cf /etc/mail
ゴミ箱用のaliasを作成
こんなaliasを/etc/mail/aliasesへ記述
trash: /dev/null
ファイルを書いたらnewaliasを実行。
# newaliases
mailertableを記述
/etc/mail/mailertableを作成。example.com宛のメールだけリレーして、その他は全部捨てる場合はこんなかんじ。
example.com smtp:relay.example.com . local:trash
書いたらdb作成。
# /usr/sbin/makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
sendmailを再起動
# /etc/init.d/sendmail restart