Qmail also pays attention to the Delivered-To header.
Correct, there are two places that qmail checks for loops:
qmail-local.c: strerr_die1x(100,"This message is looping: it already has my
Delivered-To line. (#5.4.6)");
qmail-smtpd.c: if (hops) { out("554 too many hops, this message is looping
(#5.4.6)\r\n"); return; }
But, I don't think that the qmail-local test is correct for qpsmtpd to deal with, though, since that is part of the LDA portion (and qpsmtpd always hands that task off to some other code). That test is there in qmail-local to prevent stupid .qmail tricks...
Ideally qpsmtpd should never let anything through that qmail isn't going to accept.
I agree completely, with the caveat that there are areas outside of qpsmtpd's baliwick (like the local delivery mentioned above). Remember that qpsmtpd is *only* acting as replacement for qmail-smtpd (or its moral equivalent if you are using some other MDA behind it).
John
