[PREVIOUS CHAPTER]
[NEXT CHAPTER]
4 Mail Loops
4.1 Message-ID: Cache
../internals 4.2
Message-ID: は時空全体で一意です。なので同じMessage-ID:のメールが突っ
込まれることは有り得ません。ありうる場合は
1. 出した方のソフト(MUA,MSA,MTA?)のどれかがRFC違反
2. どっかでエラーして2通になった
どっかに消えて無くなるよりは「疑わしい時は再送」という
デザインのMTAもあるので、これはあってもしょうがない
3. そのマシンのエラーで、2通になった
例: fmlの処理の途中でマシンがリブートした時
$DIR/var/run/ の下にキャッシュファイルが作られています。デフォールトで
は各ファイルは $MESSAGE_ID_CACHE_BUFSIZE (default 60*100) bytesを越え
るとrotateしながら古いものから消去されます。最大 $NEWSYSLOG_MAX + 2 個
のキャッシュが作られます。概ね過去 100 * ($NEWSYSLOG_MAX + 2) アドレス
ほどに対して二重でないかどうかのチェックがされます。
4.2 一意なX-ML-Info:
X-ML-Info: フィールドにはMLのアドレス(MLのアドレス、コマンドのアドレ
ス、管理者のアドレスのいづれか)が出てきます。例え多段のML(例えば
ML-A -> ML-B -> ML-C -> ... のML-B)であってもX-ML-Info: に自分のMLア
ドレス(X-ML-Info: ML-B)はでないはずという仮定です。
メールループはMessage-ID: Cacheをすり抜けても、このルールがループと見
なすことになります。ただし「ヘッダが削除されない」という前提条件は必要
です。
[PREVIOUS CHAPTER]
[NEXT CHAPTER]