Postfixadminな環境でパイプ渡し
色々調べた結果、とりあえずvirtualはそのままではパイプ渡しが出来ないらしい。
下記ページにvirtual_alias_mapsとalias_mapsの違いがまとめられており非常に分かりやすかったです。
http://d.hatena.ne.jp/NetPenguin/20090101
パイプ渡しのやり方ですが、以下のやり方で出来ました。
ただ、もっとスマートなやり方などがあると思います。
例えば、hoge@example.comでメールを受け取った時にプログラムをキックしたい場合 ・/etc/postfix/main.cf #ローカル配送にする。 local_transport = local #特定のアドレスだけローカル配送にする(コマンドを渡すため) transport_maps = hash:/etc/postfix/transport
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
ここで問題になってくるのが複数のドメインで同じユーザー名で別々のプログラムを動かしたい場合、
/etc/aliasesで1ユーザーしか定義できないのが問題になってきます。
対策としては、hash:virtualマップを使うという手があります。
例えば、hoge@example.comはtest.phpをhoge@hoge.comはtest2.phpを起動したい場合を記載します。
・/etc/postfix/main.cf #mysqlでのマップ読み込みの前に、hashでvirtual.dbを読みにいく。 virtual_alias_maps = hash:/etc/postfix/virtual, mysql:/etc/postfix/mysql_virtual_alias_maps.cf
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-