自ホストで送受信しているメールを複製して他のホストに送信する
Postfixでは、一度ローカルに配送したメールをそのまま複製して他のホストに送信することはできない。できるだけオリジナルのメールに近いメールを複製し他のホストに送信するには、BCCとして送信先アドレスを付加したメールを作り配送すればよい。
送受信されるメールにBCCを付加して配送するには、main.cfでalways_bcc
(送受信すべて)、またはrecipient_bcc_maps
(受信のみ)、sender_bcc_maps
(送信のみ)を利用する。
ただし、どのパラメータを利用した場合も一つのアドレスに対してBCCアドレスは一つしか指定できないため、複数のアドレスに対してBCCメールを送信するには下記のいずれかのようにする。
local配送エージェントを使用する場合
always_bcc
(または残りの二つ)にmydestination
で指定したドメインを持つアドレスAを指定し、alias_maps
でAに対して送信したいアドレス群のエイリアスを指定する。
たとえば、受信したメールを自ホストに配送した上で、複数の他ホストに複製送信するには次のようにする。
# /etc/postfix/main.cf local_recipient_maps = proxy:unix:passwd.byname $alias_maps alias_maps = hash:/etc/aliases recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
# /etc/postfix/recipient_bcc @receiving.example.com bcc
# /etc/aliases bcc: bcc@forward1.example.org, bcc@forward2.example.org, bcc@forward3.example.org
各ファイルを書き換えた後は次のコマンドを実行する必要がある。
$ sudo newaliases # /etc/aliasesの内容を反映したデータベースを作成 $ sudo postmap /etc/postfix/recipient_bcc # recipient_bccの内容を反映したデータベースを作成 $ sudo postfix reload # main.cfの再読み込み
この場合、receiving.example.com宛てのメールがローカルに配送された後、(実在しない)ローカルユーザbcc
を介して、BCCに/etc/aliases
で指定した各アドレスを付加したメールが3通送信される。
virtual配送エージェントを使用する場合
recipient_bccで指定するアドレスに仮想ドメインを利用する場合は、alias_maps
の代わりにvirtual_alias_domains
およびvirtual_alias_maps
を用いる。
すなわち、always_bcc
(または残りの二つ)に適当な仮想ドメインのアドレスBを指定し、virtual_alias_domains
、virtual_alias_maps
でBに対して送信したいアドレス群のエイリアスを指定する。
たとえば、次のようになる。
# /etc/postfix/main.cf virtual_alias_domains = virtual.example.com virtual_alias_maps = hash:/etc/postfix/virtual recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
# /etc/postfix/recipient_bcc @receiving.example.com bcc@virtual.example.com
# /etc/postfix/virtual bcc@virtual.example.com bcc@forward1.example.org, bcc@forward2.example.org, bcc@forward3.example.org
local配送エージェントを使用する場合と同じように、各ファイルを書き換えた後は次のコマンドを実行する必要がある。
$ sudo postmap /etc/postfix/virtual # virtualの内容を反映したデータベースを作成 $ sudo postmap /etc/postfix/recipient_bcc # recipient_bccの内容を反映したデータベースを作成 $ sudo postfix reload # main.cfの再読み込み
この場合、receiving.example.com宛てのメールがローカルに配送された後、仮想アドレスbcc@virtual.example.comを介して、BCCに/etc/postfix/virtual
で指定した各アドレスを付加したメールが3通送信される。