Postfix
の構造 - メールの受信
上のレベルへ | メールの受信 | メールの配送 | 舞台裏 | コマンドラインユーティリティ
Postfix メールシステムにメッセージが入ると、内部ではまず
incoming キューで止まります。下の図は新しいメールを
含む主要なコンポーネントを示しています。このページの左上の角の
アイコンをクリックすると、使われているシンボルの説明が得られます。
- メールがローカルで投函されます。Postfix
sendmail プログラムは、権限を与えられて
メッセージを maildrop ディレクトリに置く
postdrop プログラムを呼びます。
そこに置かれたメッセージは pickup
デーモンに拾われます。
このデーモンは他の Postfix システムを保護するためにある健全性の
チェックを行います。
- メールがネットワークを通して入って来ます。Postfix の
SMTP サーバ はメッセージを受け取り、
他の Postfix システムを保護するために、ある健全性のチェックをします。
SMTP サーバはローカルまたはネットワークベースのブラックリストや
DNS 検索、その他のクライアントの要求情報に基づく
UCE 制御を実装するように設定する事も可能です。
- 配送できないメールを送信者に返すために、Postfix システム自身が
内部でメールを生成します。bounce または
defer
デーモンが悪いニュースをもたらします。
- メールは local 配送デーモンにより
システム全体の alias データベースの
エントリを通したり、ユーザ毎の .forward
ファイルのエントリを通して転送されます。これはラベルの付いていない
矢印で示されています。
- postmaster に問題を通知するために (この道筋もラベルの
付いていない矢印で示されます) Postfix システム自身が内部で
メールを生成します。Postfix システムは postmaster に SMTP
プロトコルの問題や UCE ポリシーの侵害を
通知 するように設定することができます。
- cleanup デーモンは新しいメールの
最後の処理を実装しています。足りない From: やその他の
メッセージヘッダを追加したり、標準的な
user@fully.qualified.domain 形式のアドレスに書き換えるための
手配をしたり、オプションでメッセージヘッダから受信者アドレスを
取り出します。cleanup デーモンは単独のキューファイルとしての
その結果を incoming キューに挿入し、queue
manager に新しいメールの到着を通知します。cleanup デーモンは
canonical や virtual 検索テーブルに基づいて
アドレスを変形するように設定する事ができます。
- cleanup デーモンの要求があると、
trivial-rewrite デーモンは
標準的な user@fully.qualified.domain 形式にアドレスを
書き換えます。初期のバージョンの Postfix は書き換え言語を実装して
いませんでした。この実装はかなりの労力を要し、またほとんどのサイトでは
必要としません。代わりに Postfix は
テーブル検索 を広く使えるようにしています。
上のレベルへ | メールの受信 | メールの配送 | 舞台裏 | コマンドラインユーティリティ