マルチドメイン対応の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の処理は割愛しています。