VIRTUAL(5) VIRTUAL(5) 名前 virtual - Postfix virtual エイリアステーブルの書式 書式 postmap /etc/postfix/virtual postmap -q "string" /etc/postfix/virtual postmap -q - /etc/postfix/virtual <inputfile 解説 virtual(5) エイリアステーブルはオプションで全てのローカル及び バー チャ ル、 リ モ ー ト の メ ール配送先の受信者アドレスを書き換えます。これは local(8) 配送に対してのみ使われる aliases(5) テーブルとは違います。バー チャ ル エ イ リ ア シ ン グは再帰的に行なわれ、キューに入る前のPostfix cleanup(8) デーモンによって実装されています。 virtual エイリアシングの主な応用は以下の通りです: o あるアドレス宛のメールを一つもしくはそれ以上のアドレスに向 け 直 す。 o 全てのアドレスが他のドメインのアドレスにエイリアスされるような、 バーチャルエイリアスドメインを実装する。 virtual エイリアスドメインは Postfix virtual(8) メール配送エージ ェントによって実装されるvirtualメールボックスドメインと混乱し な いためのものです。virtual メールボックスドメインでは、それぞれの 受信者アドレスはそれ自身のメールボックスを持つことができます。 virtual エイリアシングはエンベロープの受信者アドレスのみに適用され、メ ッセージヘッダには影響がありません。Sendmail の S0 ルールセットと考えて も よいでしょう。一般にヘッダおよびエンベロープのアドレスを書き換えるに は、canonical(5) マップを使ってください。 通常、virtual(5) エイリアステーブルには postmap(1) コマンドへの入力に使 われるテキストファイルが指定されます。 dbm または db 形式でインデックス 化された結果はメールシステムが高速に検索するために使われます。アクセ ス テーブルを変更した後は、インデックスファイルを再構築するために "postmap /etc/postfix/virtual" コマンドを実行してください。 テーブルが NIS や LDAP、SQL など別の手段で提供される場合も、通常のイ ン デックスファイルと同様の検索がなされます。 代 わりに、パターンが正規表現で与えられる正規表現マップとしてテーブルを 提供したり、検索を TCP ベースのサーバに向けることもできます。この場合、 下 の "正規表現テーブル" や "TCP ベースのテーブル" で述べるように、少し 違った方法で検索がなされます。 テーブルの書式 postmap(1) コマンドへの入力の書式は以下の通りです: pattern result pattern がメールアドレスにマッチすると、対応する result で置き換 えます。 空行とコメント 空 行や空白だけの行は無視され、行頭の非空白文字が `#' で始まる行 も同様です。 複数行テキスト 論理行は非空白字文字で始まります。空白で始まる行は前の論理行を継 続します。 テーブル検索順序 DB や DBM のようなインデックスファイル、もしくは NIS や LDAP、 SQL のよ うなネットワーク上のテーブルでは、パターンは次に示す順で試行されます: user@domain address, address, ... user@domain 宛のメールをaddress 宛に書き直します。この形式は最も 高い優先度を持ちます。 user address, address, ... user@site 宛のメールの site が $myorigin に等しいときや site が $mydestination に挙げられているとき、 $inet_interfaces ま た は $proxy_interfaces に挙げられているときに address 宛に書き直しま す。 この機能はローカルの aliases(5) データベースの機能に重なります。 違いは virtual(5) マッピングはローカル以外のアドレスにも適用でき ることです。 @domain address, address, ... domain のどのユーザ宛のメールも address 宛に書き直します。この形 式は最も低い優先度を持ちます。 結果アドレスの書き換え 検索結果はアドレス書き換えを受けます: o 結 果が @otherdomain の形になっていると、結果は otherdomain の同 じ user になります。これは複数のアドレス検索結果の最初のアドレス にのみ働きます。 o "append_at_myorigin=yes" となっていると、"@domain" のないアドレ スに "@$myorigin" を付けます。 o "append_dot_mydomain=yes" となっていると、".domain" のないアドレ スに ".$mydomain" を付けます。 拡張アドレス メ ー ル ア ド レスのローカル部分にオプションの受信者デリミタ (すなわち user+foo@domain) を含んでいると、検索順序は 次 の よ う に な り ま す: user+foo@domain, user@domain, user+foo, user, および @domain。 propagate_unmatched_extensions パラメータは、マッチしなかった拡張アドレ ス (+foo) をテーブル検索の結果に展開するかどうかを制御します。 VIRTUAL エイリアスドメイン virtual エイリアス以外に、virtual エイリアステーブルは virtual エイリア スドメインを実装するために使うこともできます。 virtual エイリアスドメイ ンでは、全ての受信者アドレスは他のドメインのアドレスにエイリアスされ ま す。 virtual エイリアスドメインは Postfix virtual(8) メール配送エージェント によって実装された virtual メールボックスドメインと混乱しないためのもの で す。virtual メールボックスドメインでは、それぞれの受信者アドレスはそ れ自身のメールボックスを持つことができます。 virtual エイリアスドメインでは、virtual ドメインはそれ自身のユーザ名 空 間を持ちます。ローカル (つまり非バーチャル) ユーザ名は virtual エイリア スドメインからは見えません。特に、ローカル aliases(5) およびローカル メ ーリングリストは localname@virtual-alias.domain としては見えません。 virtual エイリアスドメインのサポートは以下のようにします: /etc/postfix/main.cf: virtual_alias_maps = hash:/etc/postfix/virtual 注 意: hash の代わりに dbm データベースを使うシステムもあります。利 用可能なデータベースタイプは "postconf -m" の出力を見てください。 /etc/postfix/virtual: virtual-alias.domain anything (右側の内容には意味がありません) postmaster@virtual-alias.domain postmaster user1@virtual-alias.domain address1 user2@virtual-alias.domain address2, address3 virtual-alias.domain anything エントリは virtual エイリアスドメインに必 要です。このエントリがないと、メールは "relay access denied" として拒否 されるか、"mail loops back to myself" としてバウンスされます。 virtual エイリアスドメイン名を main.cf mydestination や relay_domains 設定パラメータに指定しないでください。 virtual エイリアスドメインでは、Postfix SMTP サーバは known-user@vir- tual-alias.domain 宛のメ ー ル を 受 け 取 り 、 unknown-user@virtual- alias.domain 宛のメールを配送できないものとして拒否します。 virtual_alias_maps テーブルを使って virtual エイリアスドメイン名を指定 する代わりに、main.cf virtual_alias_domains 設定パラメータを使って指 定 することもできます。後者のパラメータは main.cf mydestination 設定パラメ ータと同じ文法を使います。 正規表現テーブル このセクションではテーブルが正規表現形式で与えられた際にどのようにテ ー ブ ル検索が変化するかを記述しています。正規表現検索テーブルの文法につい ては、regexp_table(5) もしくは pcre_table(5) を参照してください。 それぞれのパターンは検索されるアドレス全体に適用される正規表現です。 従 って、user@domain メールアドレスが user と @domain という構成要素に分割 されたり、user+foo が user と foo に分割されることはありません。 パターンは検索文字列にマッチするまで、テーブルに指定された順で適用さ れ ます。 結果はインデックス化されたファイル検索と同様であり、それに加えて $1, $2 などをパターンのカッコで括られた部分文字列に書き換えることが可能です。 TCP ベースのテーブル この章は検索が TCP ベースのサーバに向けられたときに、テーブル検索がどの ように変わるかを記述しています。TCP クライアント/サーバ検索プロトコルの 記述は tcp_table(5) を参照してください。この機能はPostfixバージョン 2.2 を含めて今のところ使えません。 ど の 検 索 操 作 も 問 い 合わせ文字列全体を一度だけ使います。従って、 user@domain メールアドレスが user@ や domain といった構成要素に分解され たり、user+foo が user と foo に分解されることはありません。 結果はインデックス化されたファイル検索の場合と同じです。 バグ テーブルフォーマットは慣例的な引用符を理解しません。 設定パラメータ 次の main.cf パラメータは特にこの話題に関連があります。文法の詳細やデフ ォルト値は Postfix main.cf ファイルを参照してください。設定の変更 後 は "postfix reload" コマンドを使ってください。 virtual_alias_maps virtual エイリアステーブルのリスト。 virtual_alias_domains virtual エイリアスドメインのリスト。これは mydestination パラメ ータと同じ文法を使います。 propagate_unmatched_extensions 元のアドレスから結果に拡張アドレスを展開する、アドレス書き換えや 転 送メカニズムのリスト。 canonical や virtual、alias、forward、 include、generic のうちゼロまたはそれ以上を指定します。 その他の関連したパラメータ: inet_interfaces このシステムがメールを受け取るネットワークインターフェースのアド レ ス 。このパラメータを変更したら、Postfix を stop および start する必要があります。 mydestination このメールシステムがローカルだとみなすドメインのリスト。 myorigin ドメインを持たないアドレスにつけられるドメイン名。 owner_request_special owner-xxx と xxx-request アドレスを特別扱いする。 proxy_interfaces proxy エージェントやネットワークアドレス変換を通してこのマシンが メールを受け取る、他のインターフェース。 関連項目 cleanup(8), メールのカノニカル化およびキュー投入 postmap(1), マッピングテーブルの作成 postconf(5), 設定パラメータ canonical(5), カノニカルアドレスマッピング README ファイル DATABASE_README, Postfix 検索テーブルの概要 ADDRESS_REWRITING_README, アドレス書き換えのガイド VIRTUAL_README, ドメインホスティングガイド ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布されなければ い けません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA VIRTUAL(5)