ietf-822
[Top] [All Lists]

Re: Mailing list addition of resent headers

2001-05-23 07:40:54
[I accidentally sent this directly to Charles. Here it is for the rest of the list:]

On 5/22/01 at 9:28 AM +0100, Charles Lindsey wrote:

OK, so if I go on vacation, and instruct my machine to send my mail to myself(_at_)some-other-domain (I think the sendmail /etc/aliases file would do it) then the Resent-* fields could be used.

Well, maybe, but I'm pretty sure no. Ask yourself: What address would go into Resent-From:? Who's doing the resending?

Resent-* fields are really intended for mail that has come out of the transport system and is then re-introduced back into the transport system. That's why they have to be marked with a new originator address (Resent-From), originator date (Resent-Date), etc.

What I think you're doing when you use /etc/aliases or a .forward file is to simply rewrite the envelope address and send the mail on to someplace else without actually taking that message of the transport system. That is to say, you're doing a 2821 operation, not a 2822 operation. (For example, you're probably *not* going to put on the Return-Path field at this point; you're going to wait until final delivery.)

Presumably each message would also acquire additional Received headers in the process.

This probably confirms my above suspicion: Adding Received fields is something that is done in the transport system (i.e., a 2821 operation). Yes, when you resend and add Resent-* fields, you then introduce the message back into the transport system and it's going to add Received fields. However, adding Received fields is not part of "the process" of resending.

The sematics of the Resent-* fields are: "I (Resent-From/Resent-Sender) got this message and I am resending it to you (Resent-To). I resent it at such-and-so-time (Resent-Date) and I also sent copies of it some other people (Resent-Cc), even some people I may not be telling you about (Resent-Bcc). An identifier for the resending of this message is blah-blah-blah (Resent-Message-ID). The message itself was sent by X (From) to Y (To) and A, B, & C (Cc/Bcc) at some-time (Date)." If you can't figure out who the "I" and the "you" are, chances are Resent-* fields are not appropriate.

So far so good, but I still don't see why mailing list expanders are forbidden to do this. After all, they do not alter the message in anyway. There is no "Fwd" in the Subject; the From and To remain the same (just the envelope that is altered for each recipient).

Right, it is just the envelope that is changing, and its changing more-or-less mid-transport. Again, since the message isn't being taken and out of the transport system and then put back in, it's probably not appropriate to use Resent-* fields in this case.

Certainly I see nothing in RFC2822 to imply this is wrong.

2822 is purposely silent on the issue of mailing lists in general because they do all sorts of things that don't fit the standard model. (For example, they don't seem to take things out of the transport system, yet they introduce things like List-* fields and other stuff into the message body.) I agree with Keith that Resent-* fields are more appropriate for a user operation and mailing lists should do something different if they want to add identifying information to message headers.

pr
--
Pete Resnick <mailto:presnick(_at_)qualcomm(_dot_)com>
QUALCOMM Incorporated - Direct phone: (858)651-4478, Fax: (858)651-1102