TRANSPORT(5) TRANSPORT(5)
名前
transport - Postfix 配送方法テーブルの書式
書式
postmap /etc/postfix/transport
postmap -q "string" /etc/postfix/transport
postmap -q - /etc/postfix/transport <inputfile
解説
transport テーブルはオプションでEメールアドレスからメッセージ配送方法や
リレーホストへのマッピングを指定します。マッピングは trivial-rewrite(8)
デーモンによって使われます。
このマッピングは Postfix に組み込まれた、以下のデフォルトルーティングを
上書きします:
mydestination
デフォルトでは $local_transport を使って配送されるドメインのリス
ト 。これは $inet_interfaces または $proxy_interfaces にマッチし
たドメインも含みます。
virtual_mailbox_domains
デフォルトでは $virtual_transport を使って配送されるドメインのリ
スト。
relay_domains
デフォルトでは $relay_transport を使って配送されるドメインのリス
ト。
any other destination
デフォルトでは $default_transport を使って配送される他の配送先へ
のメール。
通 常、transport テーブルには postmap(1) コマンドへの入力として使われる
テキストファイルが指定されます。dbm または db 形式でインデックス化さ れ
た 結果はメールシステムが高速に検索するために使われます。テキストファイ
ルを変更した後は、インデックスファイルを再構 築 す る た め に postmap
/etc/postfix/transport コマンドを実行してください。
テ ーブルが NIS や LDAP, SQL のような他の方法で提供される場合、通常のイ
ンデックス化したファイルと同様の検索がなされます。
代わりに、パターンが正規表現で与えられる正規表現マップとしてテーブル を
提供したり、検索を TCP ベースのサーバに向けることもできます。この場合、
下の "正規表現テーブル" や "TCP ベースのテーブル" で述べるように、少 し
違った方法で検索がなされます。
テーブルの書式
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 が par-
ent_domain_matches_subdomains 設定に挙げられていない時のみ適用さ
れます。そうでなければ、ドメイン名はそれ自身とそのサブドメインに
マッチします。
注 意1: 特別なパターン * は全てのアドレスを表します (つまりワイルドカー
ドパターンとして機能します)。
注意2: null 受信者アドレスは $empty_address_recipient@$myhostname と し
て検索されます (デフォルト: mailer-daemon@hostname)。
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.1 では使えません。
どの検索操作も問い合わせ文字列全体を一度だけ使います。従って、親ドメ イ
ン で 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)