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