| タイプ | MTA 拡張 |
|---|---|
| Webサイト | Wayback Machineの milter.org (2015-05-10 アーカイブ) |
Milter (メール フィルタの造語) は、広く使用されているオープン ソースのメール転送エージェント(MTA) SendmailおよびPostfixの拡張機能です。これにより、管理者はメール処理チェーンでスパムやウイルスをフィルタリングするためのメール フィルタを追加できます。専門用語では、「milter」はサービスを実装するプロトコルと API を指し、「milter」は milter を使用してサービスを提供するフィルタ アプリケーションを指すようになりました。
歴史
Milter が登場する前は、電子メール フィルターは、一般的に、MTA がメッセージが完全に到着すると、メッセージのエンベロープ情報のほとんどを削除してそのメッセージを渡すプログラムとして実装されていました。そのプログラムは、メッセージのヘッダーと本文を分析し、メッセージを受け入れるか (つまり、MTA に「成功」ステータスを返す)、拒否するか (つまり、MTA に「失敗」ステータスを返す) を決定します。その後、MTA は、配信が成功したことをログに記録するか、送信者に適切な失敗メッセージを返し、フィルターはメッセージの配信に影響を及ぼします (意図した受信トレイにそのまま、または不要なコンテンツを削除するように変更して、または特定のフォルダーになど)。
代わりに、Milter 対応の MTA は、接続先のフィルターに、最初のクライアント接続から送信の完了まで、メッセージ配信の各フェーズについて通知します。SMTPセッションの各フェーズで、フィルターには到着メッセージに関するデータが与えられ、適切な場合にはメッセージの受け入れを早期に終了する機会が与えられます。非常に大きなメッセージの場合、拒否の決定をできるだけ早く行うことができるため、これは大きな効果をもたらす可能性があります。さらに、以前のモデルとは異なり、Milter 対応の MTA は、ウイルス対策、スパム対策、メッセージ認証、フロー制御などの特定の目的を果たす複数のフィルターに並行して接続できます。最後に、このようなフィルターは、メッセージに対して特別なアクションを実行できます。たとえば、エンベロープの受信者を追加または削除したり、配信前に本文を変更したり、メッセージのヘッダー フィールドを追加、変更、または削除したりできます。
Sendmail コンソーシアムは、milter API を提供する特別なスレッドベースのライブラリを sendmail ディストリビューションに含めています。
MTA
送信メール
Milterは、2001年9月8日にリリースされたSendmail 8.12.0で初めて公式に導入されました。 [1] Milterは、FFR(将来のリリース/ベータコード)としてsendmail 8.11.xバージョンで利用可能でした。Milterは、最初の公式リリース以来、大幅な改良が行われています。
ポストフィックス
Milterのサポートは、2006年7月12日にリリースされたPostfix 2.3.0に追加されました。 [2] [3]多くのmilterは、Postfixで「そのまま」使用できますが、すべてではありません。
インタフェース
Sendmail コンソーシアムは、特別なニーズに合わせて milter を作成するために使用できる、文書化されたアプリケーション プログラミング インターフェイスを提供しています。Sendmail コンソーシアムが提供するライブラリはpthreadベースです。ただし、sendmail と milter プロセス間の通信に使用されるプロトコルの文書は提供されていません。この内部プロトコルは、新しい sendmail バージョンで変更される可能性があります。
サンプルミルター
参考文献
- ^ 「SENDMAIL リリースノート: 8.12.0/ 8.12.0 」。Sendmail。2001-09-08。2020-08-03閲覧。
- ^ 「Postfix before-queue Milter サポート: 制限事項」。Postfix。2020年 8 月 3 日閲覧。
- ^ ヴィツェ・ヴェネマ。 「Postfix 2.3 変更ログ: 20060301-20060515」。2020年8月3日に取得。
