マルチドメイン対応のPostfix(postfixadmin)で
どうにも標題の件がクリアできなかった為、
以下の環境を別に再構築しました。
【環境】
OS:Red Hat Enterprise Linux ES release 4 (Nahant)
MailServer:postfix2.1.0(インストール済み)
【前提】
シングルドメイン
【要件】
メール受信をトリガに受信元に空メールを返却する。
1. メール受信
2. ソケット接続Perlを起動(WebサーバにFROMのアドレスをリクエスト)
3. Webサーバ(今回はPHPで実装)でFROMのアドレスを受け取り、
送信元にメール送信。
※本来は2の処理内で全て完結させるのが、理想なのですが、
本件色々と理由があり、上記のような対応を取っています。
【設定】
① /etc/postfix/transportの編集
mail1@mugen.jp inforeply:
を追加します。
※mail1ユーザが登録されている事が前提になります。
② /etc/postfix/master.cfの編集
inforeply unix - n n - - pipe
flags=BDFORhqu.> user=mail1 argv=/home/mail1/sock.pl ${sender} ${user} ${extension} ${recipient}
を追加。
①のmail1で受けたメールがinforeplyとしてマッピングされて、
/home/mail1/sock.plをキックします。
③ transport.dbの作成
postmap /etc/postfix/transport
④ postfixのリロード
/etc/rc.d/init.d/postfix reload
※sock.plの処理は割愛しています。