Postfix でバーチャルドメインで受けたメールを指定アドレスに転送するには
そのホストのメインドメインとは別のドメインのメールアドレスにメールが来たら、別のメールアドレスに転送する方法について。
まずメインドメインとは別のドメインを受けるには、virtual_aliases_domains に設定します。さらにそのドメインのメールをどう処理するか virtual_alias_maps に指定したファイルやデータベースでマッピイングします。
メイン設定
/etc/postfix/main.cf
virtual_alias_domains = another.com virtual_alias_maps = hash:/etc/postfix/virtual
/etc/postfix/virtual
マップ設定を編集する。下記は receive@another.com を to@forward.com に転送する設定です。
receive@another.com to@forward.com
設定反映
postmap でマップ設定を反映して、Postfix を再起動します。
# postmap /etc/postfix/virtual # /etc/init.d/postfix restart
To: が欠落しないようするには
上記の設定だと転送されたメールの To: undisclosed-recipients:; なります。これだと受け取ったときにどこ宛のメールかわかりません。調べたところバーチャルドメインのみを使った場合、しょうがないようです。
それでは困るので、一旦エイリアスを経由させたところうまくいきました。
/etc/postfix/virtual
マップ設定を編集する。下記は receive@another.com を to@forward.com ではなくローカルの viaanother に渡すようにします。
receive@another.com viaanother
viaanother に来たものを to@forward.com に転送するようにします。