TRANSPORT(5) TRANSPORT(5) 名前 transport - Postfix transportテーブルの書式 書式 postmap /etc/postfix/transport postmap -q "string" /etc/postfix/transport postmap -q - /etc/postfix/transport <inputfile 解説 transport(5) テーブルはオプションでEメールアドレスからメッセージ配送方 法やnext-hopホストへのマッピングを指定しま す。 テー ブ ル は trivial- rewrite(8) デーモンによって検索されます。 こ のマッピングはPostfixに組み込まれた、デフォルトで選ばれている trans- port:nexthop を上書きします: local_transport (デフォルト: local:$myhostname) これは b>mydestination にリストアップされているドメインへの最終 配 送、 お よ び $inet_interfaces や $proxy_interfaces にマッチした [ipaddress] 配送のデフォルトです。デフォルトの nexthop 配 送 先 はMTAホスト名です。 virtual_transport (デフォルト: virtual:) こ れは virtual_mailbox_domains にリストアップされたドメインへの 最終配送のデフォルトです。デフォルトの nexthop 配送先は受信者 ド メインです。 relay_transport (デフォルト: relay:) こ れは relay_domains にリストアップされたドメインへのリモート配 送のデフォルトです。nexthop 配送先は優先度が 高 い ほ う か ら、 relay_transport、sender_dependent_relayhost_maps、 relayhost、そ して受信者ドメインの順で取られます。 default_transport (デフォルト: smtp:) これはその他の配送先へのリモート配送のデフォルトで す。 nexthop 配 送先は優先度が高いほうから、default_transport、 sender_depen- dent_relayhost_maps、relayhostそして受信者ドメインの順で取られ ます。 通常、transport(5) テーブルには postmap(1) コマンドへの入力として使われ るテキストファイルが指定されます。dbm または db 形式でインデックス化 さ れ た結果はメールシステムが高速に検索するために使われます。テキストファ イルを変更した後は、インデックスファイルを再構築する た め に "postmap /etc/postfix/transport" コマンドを実行してください。 テ ーブルが NIS や LDAP, SQL のような他の方法で提供される場合、通常のイ ンデックス化したファイルと同様の検索がなされます。 代わりに、パターンが正規表現で与えられる正規表現マップとしてテーブル を 提供したり、検索を TCP ベースのサーバに向けることもできます。この場合、 下の "正規表現テーブル" や "TCP ベースのテーブル" で述べるように、少 し 違った方法で検索がなされます。 大文字・小文字の統一 検索文字列はデータベース検索前に小文字に統一されます。 Postfix 2.3 で は、 検索文字列は regexp: や pcre: など、検索フィールドが大文字と小文字 の両方にマッチするデータベースタイプでは小文字への統一はおこなわれま せ ん。 テーブルの書式 postmap(1) コマンドへの入力の書式は以下の通りです: pattern result pattern が 受 信 者 アドレスやドメインにマッチすると、対応する result を使います。 空行とコメント 空行や空白だけの行は無視され、行頭の非空白文字が `#' で始まる 行 も同様です。 複数行テキスト 論理行は非空白字文字で始まります。空白で始まる行は前の論理行を継 続します。 pattern には "テーブル検索" セクションに記述されるような Eメールアド レ ス、ドメイン名またはドメイン名階層構造を指定します。 result は transport:nexthop の形式で、メールの配送方法や配送先を指定し ます。これは "結果の書式" セクションで解説されます。 テーブル検索順序 DB や DBM のようなインデックスファイル、もしくは NIS や LDAP、 SQL のよ うなネットワーク上のテーブルでは、パターンは次に示す順で試行されます: user+extension@domain transport:nexthop user+extension@domain 宛のメールを transport を使って nexthop に 配送します。 user@domain transport:nexthop user@domain 宛のメールを transport を使って nexthop に配送 し ま す。 domain transport:nexthop domain 宛のメールを transport を使って nexthop に配送します。 .domain transport:nexthop domain のサブドメイン宛のメールを transport を使って nexthop に 配送します。これは transport_maps が parent_domain_matches_sub- domains 設定に挙げられていない時のみ適用されます。そうでなけれ ば、ドメイン名はそれ自身とそのサブドメインにマッチします。 注 意1: 特別なパターン * は全てのアドレスを表します (つまりワイルドカー ドパターンとして機能します)。 注意2: null 受信者アドレスは $empty_address_recipient@$myhostname と し て検索されます (デフォルト: mailer-daemon@hostname)。 注意3: user@domain または user+extension@domain 検索は Postfix 2.0以 降 で使えます。 RESULT の書式 検 索結果は transport:nexthop という形です。transport フィールドは smtp や local のようなメール配送 transport を指定します。nexthop フィール ド はメールの配送先や配送方法を指定します。 transport フィールドにはメール配送 transport の名前 (Postfix master.cf ファイルのメール配送サービスエントリの最初の名前) を指定します。 nexthop フィールドの解釈は配送方法に依存します。SMTP の場合、デフォルト ではないポートのサービスは host:service のように指定したり、[host] また は [host]:port として MX (メール交換機) DNS 検索を無効にします。 [] 形 式はホスト名の代わりに IP アドレスを使う場合には必須です。 null transport および null nexthop result は "変更しない" ことを意味し ます: transport テーブル全体が存在しない場合に使われる配送 transport お よび nexthop 情報が使われます。 null nexthop が null でない transport にあると、 nexthop 情報は受信者ド メインになります。 null でない nexthop が null transport にあると、 transport 情報を変更し ません。 例 内 部のメールを直接配送し、その他全てのメールにはメールリレーを使うため には、内部の配送先に null エントリを指定し (配送 transport や nexthop 情報を変更しません)、その他全ての配送先にはワイルドカードを指定します。 my.domain : .my.domain : * smtp:outbound-relay.my.domain example.com およびそのサブドメイン宛のメールを、uucp 配送を使って UUCP の example という名前のホストに送るには: example.com uucp:example .example.com uucp:example nexthop ホスト名が指定されないと、代わりに配送先のドメイン名が使われま す。例えば、次の例は user@example.com 宛のメールを slow 配送を 使 っ て example.com メール交換機に送るように指示します。slow 配送は最大で同時 に1つの配送プロセスしか動かさない配送方法です: example.com slow: transport が指定されないと、Postfix はアドレスドメインクラスにマッチ す る transport を使います (上の解説を参照)。次の例は example.com およびそ のサブドメイン宛の全てのメールをホスト gateway.example.com に送ります: example.com :[gateway.example.com] .example.com :[gateway.example.com] 上の例では、[] が MX 検索を抑えています。これはあなたのマシン が exam- ple.com プライマリ MX ホストである場合にメールルーティングのループを防 ぎます。 SMTP を使った配送の場合、ホスト名だけの代わりに hostname:serviceを使 う こともできます: example.com smtp:bar.example:2025 これは user@example.com 宛のメールをホスト bar.example のポート 2025 に 向けます。数字でポートを指定する代わりにシンボル名も使えます。MX 検索を 禁止しなければならない場合、ホスト名を [] で括って指定します。 エラーメーラはメールをバウンスさせるのに使います: .example.com error:mail for *.example.com is not deliverable これで user@anything.example.com 宛の全てのメールは バウンスされます。 正規表現テーブル こ のセクションではテーブルが正規表現形式で与えられた際にどのようにテー ブル検索が変化するかを記述しています。正規表現検索テーブルの文法につ い ては、regexp_table(5) もしくは pcre_table(5) を参照してください。 そ れぞれのパターンは検索される文字列全体に適用される正規表現です。従っ て、親ドメインで some.domain.hierarchy を検索することや user@domain と して user+foo@domain を検索することはできません。 パ ターンは検索文字列にマッチするまで、テーブルに指定された順で適用され ます。 結果はインデックス化されたファイル検索と同様であり、それに加えて $1, $2 などをパターンのカッコで括られた部分文字列に書き換えることが可能です。 TCP ベースのテーブル この章は検索が TCP ベースのサーバに向けられたときに、テーブル検索がどの ように変わるかを記述しています。TCP クライアント/サーバ検索プロトコルの 記述 は tcp_table(5) を参照してください。この機能はPostfixバージョン2.3 を含めて今のところ使えません。 どの検索操作も問い合わせ文字列全体を一度だけ使います。従って、親ドメ イ ン で some.domain.hierarchy を 検 索 す る ことや user@domain として user+foo@domain を検索することはできません。 結果はインデックス化されたファイル検索の場合と同じです。 設定パラメータ 以下の main.cf パラメータは特にこのプログラムに関連があります。以下の文 章はパラメータの概要のみを提供します。例を含む詳細は postconf(5) を参照 してください。 empty_address_recipient null 送信者アドレスの代わりに検索されるアドレス。 parent_domain_matches_subdomains (.domain.tld パターンを必要とするのに対して) sub.domain.tld にマ ッチする domain.tld パターンを使う Postfix 機能のリスト。 transport_maps 配送方法検索テーブルのリスト。 関連項目 trivial-rewrite(8), アドレスの書き替えと解決 postconf(5), 設定パラメータ postmap(1), Postfix 検索テーブルマネージャ README ファイル DATABASE_README, Postfix 検索テーブルの概要 FILTER_README, 外部コンテンツフィルタ ライセンス The Secure Mailer license はこのソフトウェアと一緒に配布されなければ い けません。 作者 Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA TRANSPORT(5)