Sam Varshavchik wrote:
Alessandro Vesely writes:
the courierdeliver local module checks if the message
already contains a "Delivered-To" header with the same
recipient that it is about to deliver to. Is that needed?
Yes.
Ok, thanks. Sorry for the silly question. I should have found a long answer
e.g. in http://cr.yp.to/proto/mailloops.txt
The contents of the Delivered-To field are typically the address of
the automailer, i.e., the input envelope recipient, conventionally
without any quoting. The contents of the Delivered-To field are in
any case entirely predetermined. The automailer checks if exactly the
same Delivered-To field already appears in the header; if so, it
refuses to operate.
(`exactly the same' still leaves room for my byzantine workaround)
Other packages (Qmail?) check the Delivered-To headers. What is
it needed for? There is already a check that drops messages after
a given number of Received headers have been reached.
That's only a backup plan.
Yes, rfc2821 says (whilst rfc821 does not)
6.2 Loop Detection
Simple counting of the number of "Received:" headers in a message has
proven to be an effective, although rarely optimal, method of
detecting loops in mail systems. SMTP servers using this technique
SHOULD use a large rejection threshold, normally at least 100
Received entries. Whatever mechanisms are used, servers MUST contain
provisions for detecting and stopping trivial loops.
Probably, those checks are so annoying because when they fail the results
are *more* annoying...