【04: Virtusertable によるサブホストのメール設定】

SVシリーズでは複数のドメインを収容してサイト運営が可能です。
ここでは、サブホスト利用時のメールアドレスの設定方法に関してご案内します。

SVシリーズでのメール設定において、標準の設定では、
メインのドメインも、サブホストしたドメインも、全く同一に扱われます。

例えば、メインのドメインが mainhost.com であり、 subhost.jp をサブホストとして利用している環境で、" example " というユーザがあった場合、 example @ mainhost.com 宛てのメールも、 example @ subhost.jp 宛てのメールも、全て同一のメールとして扱われ全て example ユーザのメールボックスに配信されます。

しかし、複数のドメイン名を運用・管理するという観点から考えれば、このような使用方法は望ましいとは言えず、むしろまったく望まない状況と言えます。
example @ mainhost.com 宛てのメールと example @ subhost.jp 宛てのメールは、まったく別のものとして管理されるべきです。
その為には、 example @ mainhost.com 宛てのメールは A というメールボックスへ、 example @ subhost.jp 宛てのメールは B というように異なるメールボックスへ振り分ける必要があります。

このように、同一のアカウント宛てのメールを異なるメールボックスへ振り分けする設定を行うのが、ここでご案内する Virtusertable になります。
■設定方法
/etc/mail/virtusertableファイルに設定を記述追加します
もし、/etc/mail/virtusertable ファイルが存在しない場合は、
以下のコマンドを実行してください。
% cp /etc/mail/virtusertable.sample /etc/mail/virtusertable
例として、以下の記述を追記するものとします。
1) example @ mainhost.com yamada
2) example @ subhost.jp sato@isp.com
3) @subhost.com saito
実際の設定にあたっては、行頭の 1) や 2) などは記述しないでください。

1) について、サーバ内に設定したユーザへメールを配信する場合
" example @ mainhost.com "宛に届くメールは、サーバ内に設定したユーザ" yamada "のメールボックスへ配信されます。
2) について、他のメールアドレス宛てへ配送する場合
" example @ subhost.jp "宛に届くメールは " sato@isp.com "というメールアドレス宛てにに配送されます。
3) について、ドメイン宛ての全てのメールを1つのユーザへ配信する場合(キャッチオールの設定)
" subhost.com " 宛てに届く全てのメール(xxxxx@ subhost.com や yyyyy@ subhost.com など、 @ 以降が subhost.com である全てのメール)は、サーバ内に設定したユーザ " saito " のメールボックスへ配信されます。
Virtusertable の設定は、 先頭行より順に処理されます。
そのため、以下のように設定した場合、 example @ subhost.jp 宛てのメールは、サーバ内に設定したユーザ"kato"のメールボックスへ配信されinfo@ subhost.jp 宛てのメールは、araki@isp.co.jp へ配送され、 example @ subhost.jp 及び info@ subhost.jp 以外の全ての subhost.com 宛てのメールは、サーバ内に設定したユーザ"matsuda"のメールボックスへ配信されます。
example @ subhost.jp kato
info@ subhost.jp araki@isp.co.jp
@ subhost.jp matsuda
なお、Virtusertable にて example @ subhost.jp 宛てのメールをユーザ sato と ユーザ yamada へ配信するなどの、 複数の配信先の設定をすることはできません。
もし、複数の配信先を設定する場合には、Virtusertable と 05: メール転送 を組み合わせてご利用ください。

例えば、 example @ subhost.jp 宛てのメールをユーザ sato と ユーザ yamada へ配信する場合には、以下のように設定します。
以下のように設定することで、 example @ subhost.jp 宛てのメールは、まず example というユーザへ配信されます。
example へ配信されたメールは /etc/mail/aliases ファイルの設定によって、ユーザ sato 及び yamada へ配信されるように定義されています。
/etc/mail/virtusertable での Virtusertable 設定
example @ subhost.jp example
/etc/mail/aliases での Alias 設定
example sato,yamada

作成した"virtusertable"ファイルの内容をサーバに反映させます。

以下のコマンドを実行してください。

% /usr/sbin/makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable <Enter>
% chmod 0640 /etc/mail/virtusertable.db <Enter>
etc/mail/local-host-namesファイルにサブホストとして追加したドメイン名が記述されているか確認してください。弊社へサブホスト登録のお申し込みが済んでいれば、追加されております。
VPSからSVサーバへプラン変更された場合には、自動追加されませんので、お手数ですがお客様側で記述追加をお願い致します。
mainhost.com
subhost.jp
DNSサーバを自社で管理されているお客様は手動で記述を追加していただかないとメールの配信は行われません
local-host-namesファイルは1行1ドメインで記述します

local-host-namesファイルの編集後は設定を反映させるためにsendmailの再起動が必要となります
以下のようにアパッチ再起動コマンドを実行してください。

% restart_sendmail <Enter>

sendmail mta stopped
sendmail submission daemon stopped
SMTP authentication daemon stopped
sendmail mta started
sendmail submission daemon started
SMTP authentication daemon started