1つのドメインだけではなく、2つ目以降のドメインを取得したときでも、設定はやや面倒だが、1台のサーバーですべてのドメインに対するメールを受け取れる。要領はエイリアスを作成するのと同じで、どのメールアドレスにきたメールをどのアカウントのユーザーが受け取るかをひとつずつ指定していく。
メールアドレスとアカウントの対応を設定
まずは/etc/postfix/virtualというファイルにメールアドレスとアカウントの対応を記述していく。たとえば、first.com、second.com、third.comという3つのドメインを扱うとする。そして、次のようにメールを受け取れるようにしたいと仮定しよう。
メールアドレス アカウント
red@first.com red
webmaster@second.com red
blue@second.com blue
white@third.com white
この場合は/etc/postfix/virtualを次のように記述する。メールアドレスはエイリアスなので、1つのアカウントに対して、いくつものメールアドレスを関連付けることも可能だ。
たとえば、webmaster@second.comというアドレスがあったとしても、webmasterというユーザーを作成する必要はない。例の場合はredというユーザーのメールボックスにメールが配信される。このため、webmaster@second.comのメールを読むにはメールソフトのユーザー名として、webmasterではなくredと指定する。
この例ではred@first.comとwebmaster@second.comのメールがまざってしまう。それがいやならメール受信用に新しいユーザーアカウントを作成するという手もある。
first.com anything
red@first.com red
second.com anything
webmaster@second.com red
blue@second.com blue
third.com anything
white@third.com white
ドメイン名の右側に「anything」という指定があるが、ここは意味のない指定なので何を記述しても動作は同じだ。とりあえずマニュアル通りにanythingと書いておけば間違いはない。
Postfixの設定と再起動
つぎにPostfixでバーチャルドメインを利用できるように設定する。/etc/postfix/main.cfに次の一行を追加する。追加する場所はどこでもいいので、いちばん最後にでも付け加えるといいだろう。
virtual_alias_maps = hash:/etc/postfix/virtual
これで設定は終わり。/etc/postfix/virtualの内容をpostmapコマンドでデータベースに反映させ、Postfixを再起動する。実際にメールが届くか、外部のSMTPサーバーから送信して試してみよう。なお、この設定を行う前にDDNSサービスでMXレコードを正しく設定しておくことも忘れてはいけない。
postmap /etc/postfix/virtual /etc/rc.d/init.d/postfix restart