On Wed, Dec 6, 2006, "Mark E. Mallett" <mem(_at_)mv(_dot_)mv(_dot_)com> said:
4.2. Action redirect
Usage: redirect <address: string>
The "redirect" action is used to send the message to another user at
a supplied address, as a mail forwarding feature does. The
"redirect" action makes no changes to the message body or existing
headers, but it may add new headers. The "redirect" modifies the
envelope recipient.
a) 'The "redirect" action modifies' rather than 'The "redirect" modifies'.
(or remove the quotes, i.e. 'The redirect modifies'.)
b) I know what the writer meant, but I don't think it's clear. The
action doesn't really modify the envelope recipient. i.e., a subsequent
test of 'envelope "to"' should still show the original envelope
recipient. The text says to me that it won't. I think what's meant is
that a new message is created which has a new envelope recipient.
I thought a couple of clarifying sentences were added. I've copied the
fully section from 3028bis-09 here:
4.2. Action redirect
Usage: redirect <address: string>
The "redirect" action is used to send the message to another user at
a supplied address, as a mail forwarding feature does. The
"redirect" action makes no changes to the message body or existing
headers, but it may add new headers. The "redirect" modifies the
envelope recipient.
The redirect command performs an MTA-style "forward"--that is, what
you get from a .forward file using sendmail under UNIX. The address
on the [SMTP] envelope is replaced with the one on the redirect
command and the message is sent back out. (This is not an MUA-style
forward, which creates a new message with a different sender and
message ID, wrapping the old message in a new one.)
I still think the casual reference to sendmail should be removed, and a
more explicit explanation of what it means to forward mail should be given.
I believe it was Ned who replied to me a while ago that there isn't really
a "Best Practices of MTA Forwarding" document in existence. Casually
referencing what is becoming increasingly archaic unix software behavior
isn't exactly referencing best practices IMHO.
The envelope sender address on the outgoing message is chosen by the
sieve implementation. It MAY be copied from the original message.
Didn't we add a few sentences here, per comment above?
A simple script can be used for redirecting all mail:
Example: redirect "bart(_at_)example(_dot_)edu";
Implementations SHOULD take measures to implement loop control,
possibly including adding headers to the message or counting received
headers. If an implementation detects a loop, it causes an error.
Aaron