Can I ask for two pieces of clarification:
1) In the docs, it says that the "f" flag says to treat the
pipe as a filter. Where does it explain the significance
of that?
Maybe this will help:
Non-delivering recipes are those that cause the output of
a program or filter to be captured back by procmail or
those that start a nesting block.
(from the man page)
My understanding of the flags is a bit weak. However this
suggests that procmail will consider a recipe such as:
:0 fw
* ^From(_dot_)*foo(_at_)bar(_dot_)com
| somecommand
... to be a "non-delivery" recipe. and that it will
take messages from "foo(_at_)bar(_dot_)com" and feed them through
'somecommand' -- taking the 'somecommand' and feeding
*that* through the subsequent recipes in the rc files.
The 'w' flag would mean that procmail would "wait"
on the return code from 'somecommand' and would only
feed the 'somecommand' output to the rest of the
recipes IF 'somecommand' return no error.
The examples in procmailex (searching that on the regex
":0.*f") seem to bear this out -- although they've
all befuddled me before this.
I'm in way over my head on this one -- so I hope one of
the old timers will correct me if I'm wrong.
However -- based on the man page -- this is what I would
experiment with if I had the time.
2) What is the RFC822 rules on this question:
I have a message that has two lines that say "From", one
says "From addr1(_at_)dom" and another one that says
"From: addr2(_at_)dom", which is the "From" that I should be
paying attention to? Which "From" is the one that procmail
cares about?
From addr1(_at_)dom
... is used by MUA's to delimit the messages (i.e. a
line like that marks the beginning of each message).
Thanks to everyone for their help.
And a special thank you and happy new year to Steven for all of
his hard work on this package. "Thank you!" :)