バーチャルドメイン


〜ドメインいっぱい夢いっぱい〜

バーチャルドメインの実現は、簡単にできる。mcファイルへの追加は、例え ば、こんな感じ:

define(`confCR_FILE', `/etc/mail/relay-domains')dnl
FEATURE(virtusertable, `hash /etc/mail/virtusertable')dnl

最初の行は、バーチャルドメインのため、リレーを許可するホスト名やドメイ ン名を書く。例えばiyadesu.org と mimamima.comのリレーを許可するな ら、/etc/mail/relay-domainsのファイルはこんな感じ:

iyadesu.org
mimamima.com

2行目は、実際にバーチャルドメインを運用するための行で、バーチャルド メインでは、まずバーチャルなアドレスと実際のアドレスの変換データベース を作らなければならない。こういうファイルを作る:

postmaster@iyadesu.org s-v
@iyadesu.org akane
@mimamima.com %1@puni.net

ちなみに、この空白部分はtab。

このデータベースは、上から読まれていく。@の左側を省略すると、その ドメインあてすべてのメールに適用される。この例では、 postmaster@iyadesu.org は(このホストの)s-vあてに送られる。2行目にも iyadesu.orgのルールがあるが、先に書かれた方が優先される。次に、 それ以外のiyadesu.orgあてのメールは、2行目のルールによりローカルホスト のakaneに送られる。最後に、3行目のルールで、mimamima.comあてのメー ルはpuni.netへと転送されるが、@の左側についてはそのまま保存される。 つまり、kawasumi@mimamima.comあてならkawasumi@puni.netへ、 sayuri@mimamima.comなら sayuri@puni.netへと転送される。

次に、このファイルをmakemapで変換する。

makemap hash virtusertable.db < virtusertable

などとやればOK。なお、変換方法はhashの他、dbmなどもあるので適当にして ください(システムが対応してなければエラーになる)。最後に、出来上がった virtusertable.db を /etc/mail において、sendmailを再立ち上げすればOK。

関連情報

define(`confDontExpandCnames',`True')dnl

CNAMEレコードをAレコードに展開するのを抑止する。例えば、DNSで

mx.puni.net. IN A 192.168.0.1
puni.moemoe.jp. IN CNAME mx.puni.net.

と定義されている時、puni.moemoe.jp からメールを出すと、発信元はデフォ ルトでは正規名であるmx.puni.net に変換されてしまうが、このオプションが あるとそのまま、puni.moemoe.jp が発信元となる。


top
back

Mimori Yuki <s-v@sendmail.cf>