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