バーチャルドメインでプログラムにパイプ

virtual_alias_mapsやvirtual_mailbox_mapsではプログラムを起動する事が出来ないらしいので
aliasを使ってプログラムを起動する為には、対象のメールをlocalに渡す必要があります。


バーチャルドメインを追加します。

/etc/postfix/main.cf

#add
virtual_alias_domains = virtual_domain.com
virtual_alias_maps = hash:/etc/postfix/virtual

hash:/etc/postfix/virtual
hashだけではなくregexpなどもあるので注意。
http://q.sh43.com/postfix.html


hoge@virtual_domain.com宛に来たものをlocalユーザーのhogeに渡します。

/etc/postfix/virtual

#add
virtual_domain.com anything
hoge@virtual_domain.com hoge


さらにlocalドメインでhogeユーザーへのメールをプログラムにパイプするエイリアスを張ります。

/etc/aliases

#add
hoge: "|/usr/bin/php hoge.php"


エイリアスの反映、postfixの再起動

[centos@hoge ~]# /usr/sbin/postmap /etc/postfix/virtual
[centos@hoge ~]# newaliases
[centos@hoge ~]# service postfix restart