職場でこれをやりたかった。。。ようはPostfix(MTA)で複数起動したい場合どうするか、です。
送信元によって、ただリレーホストへ配送する先を変えたかっただけなんです。。。
10025ポート増やすだけならmaster.cfに-oで増やすという手もありますが、どうしても共通のMTAだと意図しない動作があったとき大変なので、ちょっと憂慮します。。。
シチュエーションは、25ポートは特定のリレーホストへ配送する、10025ポートは専用のリレーホストへ配送する、などです。
具体的には、/etc/postfix/main.cfに下記があるとマルチインスタンスとして動作します。
[/etc/postfix/main.cf]
multi_instance_enable = yes
その後
#postmulti -I postfix-out -G mta -e create
こうすることで、/etc/postfix-out/main.cf など別管理のpostfixを動作させることができます。
詳細は
ここを参照してください。
しかし。
postfix multiが使えるversionが入っていれば、の話なんです。
入っていない場合どうするか。もうほんといやこういうのw
ということで、苦肉の策ですが「送信元アドレスが特定のアドレスのみリレーをこっちにする」という方法で、下記のようにします。
例:送信元アドレスが、mail.example.jpの場合、リレーホストをxx.xx.xxx.xxx:25にしたい。
[/etc/postfix/allow_sender]
mail.example.jp FILTER smtp:[xx.xx.xxx.xxx]:25
main.cfに下記を付け加える。
[/etc/postfix/main.cf]
smtpd_sender_restrictions = sender_check
smtpd_restriction_classes = sender_check
sender_check = check_sender_access hash:/etc/postfix/allow_sender
あとは、fromアドレスを上記 mail.example.jp にした場合のみ、特定のリレー先へ配送する仕組みになります。
テスト配送をしてみて、うまく意図したリレーがされるか確認してみてください。
echo "テスト本文" | mail -s "test mail from mail.example.jp" test@example.jp -- -f sendonly@mail.example.jp