On Tue, 1 May 2007, Bruce Lilly wrote:
...
To take an example, consider a case where A sends a message to B, and B
resends to C, who happens to be on vacation. Now a vacation autoresponder
SHOULD use the Return-Path field for notification (3834 sect. 4), but:
1. Many autoresponders use the From field. <...>
They're broken. "Fixing" them to prefer Resent-From over From is strictly
worse than truly fixing them to use Return-Path or out-of-band knowledge
of the envelope sender. Note that a program using Resent-From instead of
Return-Path is still going to get the critical case of mailing lists
wrong.
(In my experience, very few mailing lists add Resent-* header fields...and
I wish the few that did would stop doing so.)
2. Which Return-Path (2821 issue resurfaces);
...
What the recipient gets depends
on whether SMTP (2821) is involved (if C is local to B, some non-SMTP
local delivery might be used, in which case Return-Path might still be
present, still pointing to A, and leading to the same sort of confusion
as above).
RFC 2822, by itself, does not guarantee that the message will contain the
address to which vacations and bounces will be sent. That is correct.
If you happen to operate in an non-SMTP environment, then the
representation of envelope information is a matter for that environment to
define and mail handling program that support that environment will need
to be aware of that definition.
(I can imagine a "circuit-switched email" environment where the 'envelope
sender' is not an email address at all but rather an end-point address in
a completely different namespace, such that the idea of "sending an DSN"
as an email message is nonsensical. An auto-responder there would be a
much different beast and nothing we say in RFC 822ter will make an
SMTP-aware vacation program 'portable' to that other environment.)
Even if SMTP is used, the issues of whether or not to elide
Return-Path when adding a new one, and which Return-Path field should
be used if there is more than one such field determine what may happen.
draft-klensin-rfc2821bis-03.txt, section 4.4:
When the delivery SMTP server makes the "final delivery" of a
message, it inserts a return-path line at the beginning of the mail
data. This use of return-path is required; mail systems MUST support
it. <...>
The new field is inserted at the beginning, ergo, if a message was most
recently transported by SMTP, then the first Return-Path field is the
envelope-sender from that SMTP transaction. If the most recent transport
wasn't SMTP, consult the documentation for that transport.
Philip Guenther