Postfix バージョン 2.0 ではアドレスクラスの概念を導入しました。これは 受信者アドレスを配送方法によってグルーピングする方法です。このアイディアは Victor Duchovni との議論から得られました。アドレスクラスにより多少互換性が 失われましたが、ホスティング しているドメイン や知らない受信者の扱いを向上させることもできました。
このドキュメントは以下のトピックスに関する情報を提供します:
なぜアドレスクラスに関心を持つべきなのでしょうか? それは、Postfix が どのメールを受け取るかを決定し、配送する方法だからです。言い換えると、 アドレスクラスは Postfix を操作するのにとても重要です。
アドレスクラスは3つの項目によって定義されます。
デフォルトの配送方法。例えば、ローカルまたは smtp 配送エージェント。 これは Postfix の設定をシンプルに保つのに役立っています。
アドレスクラスに対して有効な受信者アドレスのリスト。Postfix SMTP サーバは無効な受信者を "User unknown in <アドレスクラス名> table." で拒否します。これは Postfix キューが配送できない MAILER-DAEMON メッセージから解放するのに役立っています。
初めはアドレスクラスのリストはハードコーディングされていますが、 これは拡張可能にすることを目指しています。以下の要約はそれぞれのクラスの 主な目的や、どれが関連する設定パラメータかを記述しています。
ローカル ドメインクラス。
目的: 伝統的な UNIX システムアカウントや伝統的な Sendmail 形式の エイリアスに対する、最終配送先。これは典型的にはマシンの カノニカルドメインに対して 使われます。 カノニカルドメインと ホスティングしているドメイン、 それ以外のドメインの違いに関する議論は VIRTUAL_README ファイルを参照してください。
ドメイン名は mydestination パラメータでリストアップされます。IP アドレスが inet_interfaces または proxy_interfaces パラメータにリストアップされている場合は、このドメインクラスには user@[ipaddress] 宛のメールも含みます。
有効な受信者アドレスは LOCAL_RECIPIENT_README に記述されているように、 local_recipient_maps パラメータにリストアップされます。Postfix SMTP サーバは無効な受信者 アドレスを "User unknown in local recipient table" で拒否します。 local_recipient_maps パラメータの値が空の場合、Postfix SMTP サーバは local domain クラス内のあらゆるアドレスを受けます。
メール配送 transport は local_transport パラメータで指定されます。デフォルト値は local(8) 配送エージェントで配送するために local:$myhostname です。
バーチャルエイリアス ドメインクラス。
目的: それぞれの受信者アドレスがローカルの UNIX システム アカウントやリモートのアドレスにエイリアスされる、 ホスティングしているドメイン。 バーチャルエイリアスの例 は VIRTUAL_README ファイルで 与えられます。
ドメイン名は virtual_alias_domains にリストアップされます。デフォルト値は Postfix 1.1 との互換性のため $virtual_alias_maps です。
有効な受信者アドレスは virtual_alias_maps パラメータにリストアップされます。Postfix SMTP サーバは無効な受信者 アドレスを "User unknown in virtual alias table " で拒否します。 デフォルト値は Postfix 1.1 との互換性のため $virtual_maps です。
メール配送 transport パラメータはありません。全てのアドレスが 何らかの他のアドレスにエイリアスされなければいけません。
バーチャルメールボックス ドメインクラス。
目的: それぞれの受信者アドレスが個別のメールボックスを持っていて、 ユーザは UNIX システムアカウントを持っていない、 ホスティングしているドメイン の最終配送先。 バーチャルメールボックスの例 は VIRTUAL_README ファイルにあります。
ドメイン名は virtual_mailbox_domains パラメータにリストアップされます。デフォルト値は Postfix 1.1 との 互換性のため $virtual_mailbox_maps です。
有効な受信者アドレスは virtual_mailbox_maps パラメータにリストアップされます。Postfix SMTP サーバは無効な受信者 アドレスを "User unknown in virtual mailbox table" で拒否します。 このパラメータの値が空の場合、Postfix SMTP サーバは $virtual_mailbox_domains にリストアップされたドメインの全ての受信者を受けます。
メール配送 transport は virtual_transport パラメータで指定されます。デフォルト値は virtual(8) 配送エージェントで配送するために virtual です。
リレー ドメインクラス。
目的: あなたのシステムをプライマリまたはバックアップ MX ホストとしてリストアップしている、リモートの配送先へのメールの転送。 基本的な設定の詳細に関する議論は、 BASIC_CONFIGURATION_README ドキュメントを参照してください。カノニカルドメインや ホスティングしているドメイン、 その他のドメインとの違いに関する議論は、 VIRTUAL_README ファイルを参照して ください。
ドメイン名は relay_domains パラメータに リストアップされます。
有効な受信者アドレスは relay_recipient_maps パラメータにリストアップされます。Postfix SMTP サーバは無効な受信者 アドレスを "User unknown in relay recipient table" で拒否します。 このパラメータの値が空の場合、Postfix SMTP サーバは relay_domains パラメータにリストアップされたドメインの全ての受信者を受けます。
メール配送 transport のデフォルト値は relay_transport パラメータで指定されます。デフォルト値は smtp(8) 配送エージェントのクローンである relay です。
デフォルト ドメインクラス。
目的: 認証されたクライアントの代わりとしてインターネットへの メールの転送。基本的な設定の詳細に関する議論は、 BASIC_CONFIGURATION_README ファイルを参照してください。 カノニカルドメイン や ホスティングしているドメイン、 その他のドメインとの違いに関する議論は、 VIRTUAL_README ファイルを参照して ください。
このクラスには配送先ドメインテーブルはありません。
このクラスには有効な受信者アドレスのテーブルはありません。
メール配送 transport は default_transport パラメータで指定されます。デフォルト値は smtp(8) 配送エージェントで配送するために smtp です。
Postfix 2.0 のアドレスクラスはそれ以前のバージョンの Postfix と 比較して以下のような改善点があります:
Postfix transport マップに全ての virtual(8) メールボックスドメインを 指定する必要がなくなりました。 virtual(8) 配送エージェントは local(8) や smtp(8) と同じような一級市民になりました。
メールゲートウェイシステムでは、アドレスクラスによって、出て行く メールのトラフィック ($default_transport) から入ってくるメールを中継するトラフィック ($relay_transport) を区別できるようになりました。これにより出て行くメールが大量にあることで 入ってくるメールの配送ができなくなることがなくなります。
SMTP サーバは Postfix バージョン 1 よりも一貫した方法で知らない 受信者を拒否します。これは配送できないメール (やバウンスされた配送 できないメール) をメールキューに入れないようにするのに必要です。 これは smtpd_reject_unlisted_recipient 設定パラメータによって制御されます。
Postfix バージョン 2.1 では、SMTP サーバは知らない送信者アドレス (つまり知らない受信者アドレスとして拒否されるアドレス) も拒否します。 送信者の "出口フィルタリング" はEメールワームの急増を遅くするのに 役立つでしょう。これは smtpd_reject_unlisted_sender 設定パラメータで制御されます。
Postfix 2.0 アドレスクラスは記述された振る舞いにいくつか互換性のない 変更をもたらしました。移行を簡単にするため、新しいパラメータは後方互換な デフォルト値を持っています。
virtual_maps パラメータは virtual_alias_maps (アドレス検索用) と virtual_alias_domains (以前は "Postfix 形式のバーチャルドメイン" と呼ばれていたものの名前用) で 置き換えられました。
Postfix バージョン 1.1 との後方互換のため、新しい virtual_alias_maps パラメータのデフォルトは $virtual_maps、新しい virtual_alias_domains パラメータのデフォルトは $virtual_alias_maps になっています。
virtual_mailbox_maps パラメータには (バーチャル配送エージェントによってサービスされる ドメイン名を持つ) virtual_mailbox_domains と呼ばれるもう一つのパラメータができました。現在 virtual_mailbox_maps パラメータはアドレスの検索だけに使われます。
Postfix バージョン 1.1 との後方互換のため、新しい virtual_mailbox_domains パラメータのデフォルトは $virtual_mailbox_maps になっています。
relay_recipient_maps パラメータの導入。Postfix SMTP サーバは存在しないリレー受信者宛のメールを ブロックするためにこれを使うことができます。このリストはデフォルトでは 空、つまりあらゆる受信者を受けます。
local_recipient_maps 機能はデフォルトで有効になりました。Postfix SMTP サーバは知らない ローカル受信者を拒否するためにこれを使います。 LOCAL_RECIPIENT_README のヒントや tips を参照してください。
master.cf での relay 配送 transport の導入。これは大量の外行きの メールがある場合に入ってくるメールの中継に関する配送スケジュールの問題を 避けるのに役立ちますが、 "defer_transports" 設定を更新する必要があるかもしれません。