        SMTP feed -- SMTP Fast Exploding External Deliverer for Sendmail

smtpfeed は sendmail から呼び出される配信エージェントで、SMTP による
メールの配信を高速化します。

sendmail の配信の遅さは、sendmail に組み込まれている SMTP の実装が全て
の処理を直列に処理するようになっていることに起因します。このために、
多数の宛先に送る必要がある ML の配信では、一カ所への配信に時間がかかると、
後続の配信も大きく影響を受けてしまいます。

このような問題を回避するためには、DNS の問い合わせや、宛先ごとの SMTP
処理を並列に処理し、一つの宛先に対する処理が遅くても、他への影響が出ない
ような実装が要求されます。smtpfeed はそのような実装で作成された SMTP
配信エージェントです。

現在の実装は、第1段階として、まずまとめて DNS の処理を行い、続いて SMTP
の処理を行う、といった形で、DNS の問い合わせと SMTP の処理は分離されて
います。次の段階では、これらも同時に処理し、DNS が引けたところから SMTP
処理に入っていくよにすることも検討しています。

smtpfeed は sendmail 8.9 から実装された LMTP(RFC2033) 機能を利用しますが、
sendmail に対する変更を行うことで smtpfeed をさらに効果的に動作させること
ができます。そのための変更は、3.4W パッチとして別途用意してありますので、
それを使ってください。sendmail 8.12 からは、sendmail が smtpfeed に渡す
受信者数に関する制約がなくなっているので、sendmail.cf の記述に関する拡張
が必要なければ、パッチを適用する必要はありません。

なお、smtpfeed は配信するメッセージもメモリ上に持つので、巨大なメッ
セージの配信には向いていません。巨大なメッセージは sendmail 自身が
配送するように sendmail.cf の設定を工夫する必要があります。

- 中村 素典
