[PREVIOUS CHAPTER] [NEXT CHAPTER]
5 Mail Loops

5.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) アドレス
ほどに対して二重でないかどうかのチェックがされます。

5.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]