ドメインの価格も年々安くなってきたことによって、複数のドメインを所持している方もたくさんいることでしょう。けれども、取得したドメインが増えてくる度に、新規にメールサーバーをもう1台構築するわけにもいかないので、1台のマシンで複数のドメインを仮想的に運用していく方法について解説していきます。なお、既にPostfix
が正常稼動しているものとして話を進めていきます。
|
|
■/etc/postfix/virtual の編集
複数ドメインを管理するには、/etc/postfix/virtual を編集します。まず、以下のような前提条件があったとして解説していきます。
⇒取得ドメイン
aaa.com
aaa.net
aaa.jp
⇒存在するアカウント
koro
siro
⇒存在しないアカウント
info
webmaster
# vi /etc/postfix/virtual
aaa.com anything
koro@aaa.com koro
siro@aaa.com siro
info@aaa.com koro
aaa.net anything
koro@aaa.net koro
siro@aaa.net siro
info@aaa.net siro
aaa.jp anything
koro@aaa.jp koro
siro@aaa.jp siro
webmaster@aaa.jp koro
|
|
上記の設定を説明すると、まず、koro@aaa.com 宛てへのメールは、koro というユーザにメールを配信し、siro@aaa.com宛てへのメールは、siro
に配信する、という意味です。4行目のinfo@aaa.com は、info というユーザが存在している必要はなく、koro
というユーザにメールを配信するという意味になります。つまり、info というアドレスは、エイリアスになります。この場合、通常のkoro@aaa.com
のメールと info@aaa.com のメールは同じメールボックスへと配信されるので、メールがごっちゃになってしまい注意が必要です。
aaa.net のドメインも同じ要領で、info@aaa.net 宛てのメールは siro というユーザに配信されるようにしています。わざわざ新規にアカウントを作成せずとも、インターネット上からの苦情や質問メールを簡単に振り分ける事ができるのでとても便利です。
なお、「
aaa.com anything」のような1行は、ドメインごとに必要となる記述なので、そういうものだとおもって必ず記述しておきましょう。マニュアルによると、
「The virtual-alias.domain anything entry is required
for a virtual alias domain. Without this entry, mail
is rejected with "relay access denied", or
bounces with "mail loops back to myself".」
と記述されています。簡単に要約すると、バーチャルエイリアスドメインを行う際に、anything エントリが必要です。このエントリがないと、「relay
access denied」、あるいは、ループバックによるバウンスなどの理由で、メールがリジェクト(拒否)される、と書いてあります。
■main.cf の設定
次に、Postfix でバーチャルドメインを行えるように main.cf を編集しておきます。
/etc/postfix/main.cf を開き、以下の1行を追記しておきます。最下行がわかりやすいでしょう。
# vi /etc/postfix/main.cf
virtual_alias_maps = hash:/etc/postfix/virtual
|
|
最後に、データベースに反映させるために、postmap コマンドを実行すると、
/etc/postfix/virtual.db が作成されます。その後で、postfix
をリロードしてください。ここまで終えたら、実際に外部から自分のメールアドレス宛てにメールを送信してみましょう。正常に受信することができればOKです。
# postmap /etc/postfix/virtual
# /etc/init.d/postfix reload |
|