CANONICAL(5) CANONICAL(5) 名前 canonical - Postfix カノニカルテーブルの書式 書式 postmap /etc/postfix/canonical postmap -q "string" /etc/postfix/canonical postmap -q - /etc/postfix/canonical <inputfile 解説 オプションの canonical テーブルにはローカルおよび外部アドレスのアドレス マッピングを指定します。このマッピングは cleanup(8) デーモンによって 使 われます。アドレスマッピングは再帰的です。 通 常、canonical テーブルには postmap(1) コマンドへの入力として使われる テキストファイルが指定されます。dbm または db 形式でインデックス化さ れ た 結果はメールシステムが高速に検索するために使われます。テキストファイ ルを変更した後は、インデックスファイルを再構 築 す る た め に postmap /etc/postfix/canonical コマンドを実行してください。 テ ーブルが NIS や LDAP, SQL のような他の方法で提供される場合、通常のイ ンデックス化したファイルと同様の検索がなされます。 代わりに、パターンが正規表現で与えられるような正規表現マップをテーブ ル に使ったり、検索を TCP ベースのサーバに向けることもできます。その場合、 以下の "正規表現テーブル" や "TCP ベースのテーブル" で述べるように、 少 し異なる方法で検索がなされます。 canonical マッピングはメッセージヘッダアドレス(すなわちメッセージ内に現 れるアドレス)とメッセージエンベロープアドレス(例えば SMTP プロトコル コ マ ンドで使われるアドレス)の両方に作用します。Sendmail の S3 ルールセッ トを考えてもよいでしょう。 典型的には、 canonical テーブルをログイン名から Firstname.Lastname に置 き 換えるためや、古いメールシステムで作られたアドレスをきれいにするため に使います。 canonical マッピングと virtual domain サポートと混同してはいけません 。 その目的のためには virtual(5) マップを使います。 canonical マッピングとローカルエイリアスを混同してはいけません。その目 的のためには aliases(5) マップを使います。 テーブルの書式 postmap(1) コマンドへの入力の書式は以下の通りです: pattern result pattern がメールアドレスにマッチすると、対応する result で置き換 えます。 空行とコメント 空行 や空白だけの行は無視され、行頭の非空白文字が `#' で始まる行 も同様です。 複数行テキスト 論理行は非空白字文字で始まります。空白で始まる行は前の論理行を継 続します。 DB や DBM のようなインデックスファイル、もしくは NIS や LDAP、 SQL のよ うなネットワーク上のテーブルでは、パターンは次に示す順で試行されます: user@domain address user@domain は address で置き換えられます。この形式は最高の優 先 度を持ちます。 これは古いメールシステムで作られたアドレスを整理するのに便利です 。また、Firstname.Lastname 形式のアドレスを作るのに使うことも で きますが、更に簡単な解決法は下を見てください。 user address site が $myorigin と等しいか、$mydestination に挙げられていると き、$inet_interfaces または $proxy_interfaces に挙げられていると きに、user@site は address で置き換えられます。 この形式はログイン名を Firstname.Lastname で置き換えるのに便利で す。 @domain address domain 内の全てのアドレスは address で置き換えられます。これは最 も低い優先度です。 上の全ての形式は、 address が @otherdomain の形式のとき、結果はotherdo- main の同じユーザになります。 拡張アドレス メールアドレスのローカル部分がオプションの受信者デリミタを含んでいる と ( す な わ ち 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.1 では使えません。 ど の検索操作も問い合わせ文字列全体を一度だけ使います。つまり、親ドメイ ンや親ネットワーク検索が実行することはできず、 user@domain メールアドレ ス が user@ や domain といった構成要素に分解されたり、user+foo が user と foo に分解されることはありません。 結果はインデックス化されたファイルの検索のときと同じです。 バグ テーブルフォーマットは慣例的な引用符を理解しません。 設定パラメータ 以下の main.cf パラメータは特にこのプログラムに関連があります。以下の文 章はパラメータの概要のみを提供します。例を含む詳細は postconf(5) を参照 してください。 canonical_maps カノニカルマップテーブルのリスト。 recipient_canonical_maps エンベロープとヘッダの受信者アドレス用のアドレスマッピング検索テ ーブル。 sender_canonical_maps エンベロープとヘッダの送信者アドレス用のアドレスマッピング検索テ ーブル。 propagate_unmatched_extensions 元のアドレスから結果に拡張アドレスを展開する、アドレス書き換えや 転 送 な ど の メ カニズムのリスト。canonical や virtual、 alias 、forward、include からゼロまたはそれ以上を指定します。 他の関連したパラメータ: inet_interfaces このシステムがメールを受け取るネットワークインターフェースのアド レ ス 。このパラメータを変更したら、Postfix を stop および start する必要があります。 proxy_interfaces proxy エージェントやネットワークアドレス変換を通してこのマシンが メールを受け取る、他のインターフェース。 masquerade_classes マ ス カ レ ードを受けるアドレスクラスのリスト: envelope_sender, envelope_recipient, header_sender, header_recipient の 0 もし く はそれ以上。 masquerade_domains サブドメイン構造を隠すドメインのリスト。 masquerade_exceptions アドレスマスカレードを行なわないユーザ名のリスト。 mydestination このメールシステムがローカルだとみなすドメインのリスト。 myorigin ローカルで送信されたメールに追加されるドメイン。 owner_request_special owner-xxx や xxx-request アドレスを特別扱いします。 関連項目 cleanup(8), メールのカノニカル化およびキュー投入 postmap(1), マッピングテーブルの作成 postconf(5), 設定パラメータ virtual(5) バーチャルエイリアシング README ファイル DATABASE_README, Postfix 検索テーブルの概要 ADDRESS_REWRITING_README, アドレス書き換えのガイド ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布されなければ い けません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA CANONICAL(5)