バーチャルドメインで受け取ったメールをコマンドに渡す

歌丸です。

$ postconf | grep versio
mail_version = 2.11.3
# /etc/postfix/virtual
root@jiikko.com deployer@localhost
root@prpr-antena.com deployer@localhost
# /etc/postfix/main.cf
virtual_mailbox_domains = prpr-antena.com, jiikko.com
virtual_mailbox_base = /home/virtual
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual

mydestination = localhost
# /etc/aliases
deployer: "| mail hoge@icloud.com"

ミソはmydestinationにlocalhostを指定するところ。
mydestinationを指定すると外に配送しないでローカルに配送してくれる。

なんでlocalhostを指定しているかというと。
/etc/postfix/virtualで

root@prpr-antena.com deployer

と書くと

root@prpr-antena.com deployer@prpr-antena.com 

と解釈されているらしくunknown userになった。なのでlocalhostを指定してる。