I have a question (and some rambling possible answers) about forwarding
messages, in the following sense (from rfc 2822):
Reintroducing a message into the transport system and using
resent fields is a different operation from "forwarding".
"Forwarding" has two meanings: One sense of forwarding is that a mail
reading program can be told by a user to forward a copy of a message
to another person, making the forwarded message the body of the new
message. A forwarded message in this sense does not appear to have
come from the original sender, but is an entirely new message from
the forwarder of the message.
...
What header(s) should the new message contain to identify it as being a
forwarded version of the original? This would be useful, say, so that
clients can provide a way for users to locate any forwarded message(s)
(or go from the forwarded message to the original).
The case of replying to a message, where you set References and
In-Reply-To, is well covered by RFC 2822. However, in my reading, the
above text ("... is an entirely new message...") seems to imply
forwards aren't really the same as replies. And, indeed, none of the
clients I tried (with one exception) set these headers when you forward
messages.
Also, the first sentence of the above paragraph seems to say that
Resent-Message-ID would not be the correct thing to do.
One possibility might be to set References and not In-Reply-To. It's
not clear to me whether or not users would find this surprising, since
it would lead to their forwarded message being part of the originals'
thread trees.
Another possible answer is not to set any headers, but just store the
information internally in the client's message store. I'd rather not do
this if possible, since then it wouldn't work well with IMAP users who
access their messages from different clients.
Lastly, I could make up a custom header, I guess.
Anyway, suggestions/comments will be appreciated.
--Grant