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 エ イリアシングはエンベロープの受信者アドレスのみに適用され、
メッセージヘッダには影響がありません。一般にヘッダおよびエンベロープ の
アドレスを書き換えるには、canonical(5) マップを使ってください。
通常、virtual(5) エイリアステーブルには postmap(1) コマンドへの入力に使
われるテキストファイルが指定されます。 dbm または db 形式でインデックス
化された結果はメールシステムが高速に検索するために使われます。アクセ ス
テーブルを変更した後は、インデックスファイルを再構築するために "postmap
/etc/postfix/virtual" コマンドを実行してください。
テーブルが NIS や LDAP、SQL など別の手段で提供される場合も、通常のイ ン
デックスファイルと同様の検索がなされます。
代 わりに、パターンが正規表現で与えられる正規表現マップとしてテーブルを
提供したり、検索を TCP ベースのサーバに向けることもできます。この場合、
下 の "正規表現テーブル" や "TCP ベースのテーブル" で述べるように、少し
違った方法で検索がなされます。
大文字・小文字の統一
検 索 文 字列はデータベース検索前に小文字に統一されます。 Postfix 2.3で
は、検索文字列は regexp: や pcre: など、検索フィールドが大文字と小文 字
の 両方にマッチするデータベースタイプでは小文字への統一はおこなわれませ
ん。
テーブルの書式
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.3
を含めて今のところ使えません。
ど の 検 索 操 作 も 問 い 合わせ文字列全体を一度だけ使います。従って、
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)