エラーメール解析プログラム (libexec/error) libexec/error は &fml4; の libexec/mead に相当するものです。 概要 ML作成時に $ml-admin のアドレスは libexec/error を呼び出すように設定 されます。 libexec/error は標準入力からメールを読みこみ、distribute などと同様に parse し、Mail::Message オブジェクトの鎖を作ります。そして、 Mail::Bounce クラスがエラー内容の解析をします。 Mail::Bounce は、エラーメールについて「どの MTA が生成したものか?」 「エラーを引き起こしたメールアドレス」「エラーの理由」を分析します。 解析結果は $error_analyzer_cache_dir ディレクトリに格納され、 ます。 一定時間以上経過すると、$error_analyzer_function がキャッシュのデータ を解析し、あるメールアドレスが存在しないように思えるかいなか?を判定し ます。その結果、消すべきだと判断されると、削除されます。 キャッシュ 解析結果は $error_analyzer_cache_dir ディレクトリに格納されます。 現在、キャッシュの入出力には Tie::JournaledDir クラスを使っていますが、 FML::Erorr::Cache 経由で Tie::JournaledDir への IO を行ないます。 FML::Erorr::Cache が Tie::JournaledDir の直前に位置し、アダプタとなり ます。すべての IO は FML::Erorr::Cache が提供する primitive なメソッド を通じてのみ行なわなければなりません。