On Thu, Jun 05, 2003 at 09:19:45AM -0400, Jeff Hedlund wrote:
> The To: is still set to the original recipient.

The RFC (2)822 To: header line is not the same as the envelope
recipient. The To: header line is SMTP data and nothing more. We both
receive messages from this list that say ``To: [EMAIL PROTECTED]''
but clearly your copy and my copy have different envelope recipients as
we both get seperate copies of list messages.

> And a Delivered-To: flag is set as well.

When it arrives in the catchall mailbox the message will have
potentially any number of Delivered-To: header lines, one for each
intermediate delivery. How does my ODMR/ATRN server know which of, say,
five Delivered-To: lines is the one from which to extract the address to
use when creating a new envelope? How does serialmail know? Or
fetchmail, MDaemon, getmail, ... ?

They know today because the most recent Delivered-To line contains the
envelope recipient as it was when the message was caught by the
catchall. By reinjecting messages that are subject to a catchall you
discard that information and transform the env. recipient of every
message to the same value; that of the catchall target address. This
will break the programs named above (or force them to parse To: headers
with the resulting, well documented disasters that approach entails. For
example fetchmail would resend this message back to the mailing list
instead of on to the real recipient. After all, that's what the To: line
says to do!).

Accurate recording of the envelope in the Return-Path and most recent
Delivered-To header line are vital for catchall users of MDaemon,
getmail, fetchmail, vodmr, etc. Please don't remove that.


ATB,
james

Reply via email to