V.postfix

Last-modified: 2006-09-20 (水) 15:01:11

 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