VIRTUAL(5) VIRTUAL(5) 名前 virtual - Postfix virtual テーブルの書式 書式 postmap /etc/postfix/virtual 解説 virtual テーブルはオプションでローカル及び非ローカルの受信 者やドメイン宛のアドレスの書き直しを指定します。書き直しは cleanup(8) デーモンによって使われます。書き直しは再帰的に 行なわれます。 virtual による書き直しはエンベロープの受信者アドレスのみに 適 用 され、メッセージヘッダには影響がありません。Sendmail の S0 ルールセットと考えてもよいでしょう。一般にヘッダおよ び エ ン ベ ロープのアドレスを書き換えるには、canonical(5) マップを使って下さい。 通常、virtual テーブルには postmap(1) コマンドへの入力に使 われるテキストファイルが指定されます。dbm または db 形式で インデックス化された結果はメールシステムが高速に検索するた めに使われます。テキストファイルを変更した後は、インデック スファイルを再構築するために postmap /etc/postfix/virtual コマンドを実行して下さい。 テ ー ブルが NIS や LDAP、SQL など別の手段で提供される場合 も、通常のインデックスファイルと同様の検索がなされます。 代わりに、パターンが正規表現で与えられる正規表現マップとし てテーブルを提供することもできます。この場合、下で述べるも のとは少し違った方法で検索がなされます。 POSTFIX 形式のバーチャルドメイン Postfix 形式のバーチャルドメインでは、バーチャルドメインは それ自身のユーザ名空間を持ちます。ローカル (すなわち非バー チャル) ユーザ名は Postfix 形式のバーチャルドメインから は 見えません。特に、ローカルの aliases(5) やメーリングリスト は localname@virtual.domain として見えません。 ローカルユーザ名や aliases(5)、メーリングリスト が local- name@virtual.domain として見える必要があれば、Sendmail 形 式のバーチャルドメイン (以下参照) を使って下さい。 Postfix 形式のバーチャルドメインをサポートするには次のよう にします: /etc/postfix/virtual: virtual.domain anything (右側の中身は意味がありません) postmaster@virtual.domain postmaster user1@virtual.domain address1 user2@virtual.domain address2, address3 Postfix 形 式のバーチャルドメインには virtual.domain any- thing エントリが必要です。 Postfix 形式のバーチャルドメインは main.cf mydestination 設 定 パラメータに挙げてはいけません。このようなエントリは Sendmail 形式のバーチャルドメインにのみ必要です。 Postfix 形式のバーチャルドメインでは、Postfix SMTP サー バ は known-user@virtual.domain 宛 の メ ー ル を受け取り、 unknown-user@virtual.domain 宛のメールは配送できないものと して拒否します。 SENDMAIL 形式のバーチャルドメイン Sendmail 形式のバーチャルドメインでは、全てのローカル (す なわち非バーチャル) ユーザ名はバーチャルドメインでも見えま す。 特 に、 全 てのローカルエイリアスやメーリングリストは localname@virtual.domain として見えます。 ローカルユーザ名や aliases(5)、メーリングリスト が local- name@virtual.domain として見えないようにするには、Postfix 形式のバーチャルドメインを使って下さい。 Sendmail 形式のバーチャルドメインをサポートするには次の よ うにします: /etc/postfix/main.cf: mydestination = $myhostname localhost.$mydomain $mydomain virtual.domain /etc/postfix/virtual: user1@virtual.domain address1 user2@virtual.domain address2, address3 Sendmail 形 式 の バ ー チャルドメインを使うには、main.cf mydestination エントリが必要です。 Sendmail 形式のバーチャルドメインでは、virtual マッ プ に virtual.domain anything エントリを指定しないで下さい。この ようなエントリは Postfix 形式のバーチャルドメインでのみ 必 要です。 Sendmail 形式のバーチャルドメインでは、Postfix local 配送 エージェントは知らない user@virtual.domain 宛のメールを 同 名のローカル (すなわち非バーチャル) ユーザに配送します; そ のような受信者がいなければ、Postfix local 配送エージェント は送信者にバウンスを返します。 テーブルの書式 virtual テーブルの書式は次の通りで、マッピングはこのマニュ アルページに書かれた通りの順で試行されます: 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 に挙 げられている時に address 宛に書き直されます。 この機能はローカルの alias(5) データベースの機能 に 重なります。違いは virtual マッピングはローカル以外 のアドレスにも適用できることです。 @domain address, address, ... domain のどのユーザ宛のメールも address 宛に書き 直 されます。この形式は最も低い優先度を持ちます。 上のどの形式も、address が @otherdomain の形式であれば、結 果は otherdomain の同じユーザになります。これは展開した 最 初のアドレスのみに働きます。 拡張アドレス メールアドレスのローカル部分にオプションの受信者デリミタ ( すなわち user+foo@domain) を含んでいると、検索順序は次のよ う に な り ま す: user+foo@domain, user@domain, user+foo, user, and @domain. マッチしなかった拡張アドレス (+foo) は テーブル検索の結果に展開されます。 正規表現テーブル このセクションではテーブルが正規表現形式で与えられた際にど のようにテーブル検索が変化するかを記述しています。正規表現 検索テーブルの文法については、regexp_table(5) も し く は pcre_table(5) を参照して下さい。 それぞれのパターンは検索されるアドレス全体に適用される正規 表現です。従って、user@domain メールアドレ ス が user と @domain という構成要素に分割されたり、user+foo が user と foo に分割されることはありません。 パターンは検索文字列にマッチするまで、テーブルに指定された 順で適用されます。 結果はインデックス化されたファイル検索と同様であり、それに 加えて $1, $2 などをパターンのカッコで括られた部分文字列に 書き換えることが可能です。 バグ テーブルフォーマットは慣例的な引用符を理解しません。 設定パラメータ 次の main.cf パラメータは特にこの話題に関連があります。 文 法 の詳細やデフォルト値は Postfix main.cf ファイルを参照し て下さい。設定の変更後は postfix reload コマンドを使ってく ださい。 virtual_maps virtual マッピングテーブルのリスト。 その他の関連したパラメータ: inet_interfaces こ のシステムがメールを受け取るべきネットワークイン ターフェースのアドレス。 mydestination このメールシステムがローカルだとみなすドメインの リ スト。 myorigin ローカルでポストされたメールにつけるドメイン名。 owner_request_special owner-xxx と xxx-request アドレスを特別扱いする。 関連項目 cleanup(8) メールのカノニカル化およびキュー化 postmap(1) マッピングテーブルの作成 pcre_table(5) PCRE テーブルの書式 regexp_table(5) POSIX 正規表現テーブルの書式 ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布さ れなければいけません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA