[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

fml8 がメールを読みこむ際のキューイング

fml8 (以下 fml)の各プロセスは MTA から起動され、 STDIN(標準入力)からメールを読みこみます。

fml は、いったんメールを読みこみ、 まずはディスクに書き込みます(incoming queue へ書き込む)。 書き込みに成功した場合、 その書き込んだファイルに対してメッセージの解析をスタートします。 これにより、少なくとも読みこんだオリジナルのメールの記録は残せます。

もし、失敗した場合、exit(EX_TEMPFAIL)します。 たいていの OS では exit(75) です。 このエラーコードをうけとると、 MTA は一時的なエラーがおこったとみなすため、 このメッセージの再送処理を試みてくれます (つまり、何分か後に、もう一度、最初から処理が試みられます)。

失敗が一時的なディスク溢れ(file system full)なら、 MTA の再送処理でリトライが行なわれ、MLの処理が行なわれます。 ただ、MLのスプールに用意したファイルシステムでのディスク溢れ (filesystem full)が一時的とは考えにくいので、 システム管理者が気づかないと、 ずっとエラーになり続ける可能性が高いと思います。

incoming queue の処理は Mail::Delivery::Queue を使い、 ML固有の queue で管理されます。 一連の処理が終ると、たいてい、そのプロセスの最後に、このキューは消されます。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >