GENERIC(5) GENERIC(5)
名前
generic - Postfix generic テーブルの書式
書式
postmap /etc/postfix/generic
postmap -q "string" /etc/postfix/generic
postmap -q - /etc/postfix/generic <inputfile
解説
オ プションの generic(5) テーブルは、メールが配送される際に適用されるア
ドレスマッピングを指定します。これはメールを受信した際に 適 用 さ れ る
canonical(5) マッピングの逆です。
典 型的には、有効なインターネットドメイン名を持たないシステムで、代わり
に localdomain.local のようなドメイン名を使っている場 合 に generic(5)
テー ブ ル を使います。インターネット越しにメールを送る必要がある場合に
ローカルメールアドレスを有効なインターネットメールアドレスに変換する の
に、 generic(5) テーブルは smtp(8) クライアントによって使われます。この
ドキュメントの最後にある「例」セクションを参照してください。
generic(5) マッピングはメッセージヘッダアドレス (つまりメッセージ内に現
れ るアドレス) とメッセージエンベロープアドレス (例えば、SMTPプロトコル
コマンドで使われるアドレス) の両方に影響を及ぼします。
通常は、generic(5) テーブルは postmap(1) コマンドへの入力として与えられ
るテキストファイルとして指定されます。 dbm または db フォーマットでイン
デックス化された結果はメールシステムが高速に検索するのに使われます。 テ
キ ストファイルの変更後にインデックス化されたファイルを再構築するには、
"postmap /etc/postfix/generic" コマンドを実行してください。
NISやLDAP、SQLのような、他の手段でテーブルが提供されると、通常 の イ ン
デックス化されたファイルと同じように検索が実行されます。
代 わりに、パターンが正規表現として与えられる正規表現マップとしてテーブ
ルを与えたり、TCPベースのサーバに検索を向けることもできます。その場合、
検 索 は "正規表現テーブル" や "TCPベースのテーブル" に書かれているよう
に、少し異なる方法で検索がなされます。
大文字・小文字の統一
検索文字列はデータベース検索前に小文字に統一されます。 Postfix 2.3 で
は、 検索文字列は regexp: や pcre: など、検索フィールドが大文字と小文字
の両方にマッチするデータベースタイプでは小文字への統一はおこなわれま せ
ん。
テーブルの書式
postmap(1) コマンドへの入力の書式は以下の通りです:
pattern result
pattern がメールアドレスにマッチすると、それを対応する result で
置き換えます。
空行とコメント
空 行と空白のみの行は無視され、最初の非空白文字が `#' の行も同様
です。
複数行テキスト
論理行は非空白字文字で始まります。空白で始まる行は前の論理行を継
続します。
テーブルの検索順序
DB やDBM の よ う な イ ン デッ クス化されたファイルからの検索や、NISや
LDAP、SQLのようなネットワーク上のテーブルでは、パターンは以下に示す順で
試されます:
user@domain address
user@domain を address で置き換えます。この形式は最も高い優先度
です。
user address
site が $myorigin に等しいか site が $mydestination に挙げられて
いるとき、$inet_interfaces または $proxy_interfaces に挙げられて
いるときに、 user@site を address で置き換えます。
@domain 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) が検索テーブルの結果に展開されるかどうかを制御します。
正規表現テーブル
こ のセクションではテーブルが正規表現形式で与えられた際にどのようにテー
ブル検索が変化するかを記述しています。正規表現検索テーブルの文法につ い
ては、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 に分解されることはありません。
結果はインデックス化されたファイルの検索のときと同じです。
例
以下はインデックス化されたファイルでの generic マッピングを示して い ま
す。 メー ル がSMTP で リモートホストに送られる際に、これは his@localdo-
main.local を彼のISPメールアドレスで置き換え、her@localdomain.local を
彼 女のISPメールアドレスで置き換え、また他のローカルアドレスは彼のISPア
カウントに +local という拡張アドレスが付いたもので置き換えます (この 例
ではISPが "+" 形式の拡張アドレスをサポートしていると想定しています)。
/etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/generic:
his@localdomain.local hisaccount@hisisp.example
her@localdomain.local heraccount@herisp.example
@localdomain.local hisaccount+local@hisisp.example
テー ブルが変更されるたびにコマンド "postmap /etc/postfix/generic" を実
行してください。hash の代わりに dbm データベースファイルを使うシステ ム
も あ り ま す。 システムがサポートしているテーブルを知るには、コマンド
"postconf -m" を使ってください。
バグ
テーブルフォーマットは慣例的な引用符を理解しません。
設定パラメータ
以下の main.cf パラメータは特にこのプログラムに関連があります。以下の文
章はパラメータの概要のみを提供します。例を含む詳細は postconf(5) を参照
してください。
smtp_generic_maps
エンベロープおよびヘッダーの送信者および受信者アドレスに対する、
SMTPでのメール配送中のアドレスマッピング検索テーブル。
propagate_unmatched_extensions
元のアドレスから結果へと拡張アドレスを展開する、アドレス書き換え
もしくは転送メカニ ズ ム。canonical や virtual、 alias、 for-
ward、include、generic からゼロ個以上指定します。
他の関連したパラメータ:
inet_interfaces
このシステムがメールを受け取るネットワークインターフェースのアド
レス。このパラメータを変更したら、Postfixをstopおよびstartする必
要があります。
proxy_interfaces
proxy エージェントやネットワークアドレス変換を通してこのマシンが
メールを受け取る、他のインターフェース。
mydestination
このメールシステムがローカルだと見なすドメインのリスト。
myorigin
ローカルで送信されたメールに追加されるドメイン。
owner_request_special
owner-xxx や xxx-request アドレスを特別扱いします。
関連項目
postmap(1), Postfix検索テーブルマネージャ
postconf(5), 設定パラメータ
smtp(8), Postfix SMTPクライアント
READMEファイル
ADDRESS_REWRITING_README, アドレス書き換えのガイド
DATABASE_README, Postfix検索テーブルの概要
STANDARD_CONFIGURATION_README, 設定例
ライセンス
Secure Mailer licenseはこのソフトウェアと一緒に配布されなければいけ
ません。
歴史
genericstable 機能は Sendmail MTA で登場しました。
この機能はPostfix 2.2以降で使えます。
作者
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
GENERIC(5)