Postfix はメールがキューに入る前に同時に1行だけをスキャンする軽い ものからメールがキューに入った後の洗練されたコンテンツ分析をおこなう 負荷の高い機構まで、3つのコンテンツ検査方法をサポートしています。 それぞれの方法は異なる目的を果たします。
この方法はキューに入る「前に」メールを検査し、Postfix のビルトイン メッセージヘッダおよびメッセージ本体検査を使います。主な目的はワームや ウィルスからのメールの氾濫を止めることですが、バウンスされたジャンクメールや ウィルス検知システムからの通知の氾濫をブロックするのにも便利です。 ビルトイン正規表現は一般的な SPAM やウィルス検知を実装することは意図して いません。そのためには以下に記述するコンテンツ検査方法のいずれかを 使うべきです。詳細は BUILTIN_FILTER_README および BACKSCATTER_README ドキュメントに 書かれています。
この方法はキューに入った「後で」メールを検査し、SMTP や "コマンドへ pipe で渡して終了ステータスを待つ" ような標準的なプロトコルを使います。 キューの後の検査ではメール受信中のタイムアウトや負荷がピークの時にメモリを 使い果たすことなく、任意の複雑さのコンテンツフィルタを使うことができます。 この方法の詳細はFILTER_README ドキュメントにあります。
この方法はキューに入る「前に」メールを検査し、SMTP プロトコルを 使います。この方法は魅力的なものに見えますが、実際には他の2つの最も悪い ところが組み合わされています。キューに入る前にメールが検査されるため、 コンテンツ検査ソフトウェアは限られた時間内に終了しなければいけませんし、 限られた量のメモリで動かなければいけません。コンテンツ検査に長時間 かかる場合は入ってくるメールの配送がタイムアウトしてしまい、コンテンツ 検査に大量のメモリが必要な場合はピーク負荷でソフトウェアがクラッシュして しまいます。キューに入る前の検査はシステムが扱えるピーク負荷を制限し、 また使用するコンテンツフィルタの洗練度も制限します。詳細は SMTPD_PROXY_README ドキュメントに あります。この方法は Postfix バージョン 2.1 以降でのみ使用可能です。
より洗練されたコンテンツフィルタリングソフトウェアは相応な理由によって Postfix には組み込まれていません: MTA を書くのには SPAM およびウィルスキラーを 書くのとは違ったスキルが必要です。あなたの目的に最適な MTA と最適なコンテンツ 検査ソフトウェアを選べるようにするため、Postfix は外部フィルタや標準的な プロトコルの利用を奨励します。外部コンテンツ検査ソフトウェアに関する情報は Postfix のウェブサイト http://www.postfix.org/ や postfix-users@postfix.org メーリングリストで見つかるかもしれません。