John Conover started with a message that had no postmark line and used these
filters (note that neither of them uses formail's -f option):
| :0 wfh
| * ? test "${SENDER}" != "foo(_at_)bar"
| | formail -I "X-Delivered-Sender: ${SENDER}"
| #
| :0 wfhE
| | formail -A "X-Diagnostic: No machine generated return address"
Well, with that `E' flag there, one way or another every message will get run
through formail without the -f option (which keeps formail from adding a
postmark line to a message that doesn't already have one). Thus by this point
the message will have a postmark line, and if formail has to generate a
postmark line and can't find a reliable indicator of the sender in the RFC2822
headers, it uses "foo(_at_)bar" instead.
Since his test text has not only no postmark but no From: either:
| Received: (qmail 20654 invoked by uid 501); 29 Oct 2002 00:09:38 -0000
| Message-ID:
<20021029000938(_dot_)20653(_dot_)qmail(_at_)somewhere(_dot_)someplace(_dot_)com>
| To: someone(_at_)somedomain(_dot_)com
| Subject: asdf
| Date: 29 Oct 2002 00:09:38 -0000
|
| asdf
formail generated a postmark line naming foo(_at_)bar as the sender. So of
course
the next recipe,
| :0
| * ^from \/[-0-9a-z(_dot_)_+=?]+(_at_)[-0-9a-z(_dot_)_+=]+
| { ENV_FROM="${MATCH}" }
found "foo(_at_)bar" already there.
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail