procmail
[Top] [All Lists]

Re: Defining a common set of actions ?

1997-05-21 15:16:00
"Pascal A. Dupuis" <dupuis(_at_)lei(_dot_)ucl(_dot_)ac(_dot_)be> writes:
Collective,
I have a problem using the | operator in procmail.
My setup (procmailrc)
:0
* some test
| procmail  -p $HOME/dir/rc.action
:0
* some other test
| procmail  -p $HOME/dir/rc.action

$HOME/dir/rc.action contains :
:0 Whc: vacation.lock
  | (formail -r ... )  | $SENDMAIL -oi -t 
:0
 $DEFAULT

But, instead of recursively being processed, selected mails are saved to
a folder called "| procmail -p $HOME/dir/rc.action" !

How do you know that?  Does it actually create a file in your account
named "| procmail -p $HOME/dir/rc.action", or are you just looking at
the logfile?  The latter is _supposed_ to show the above, so don't base
your deduction on that.

Anyway, wouldn't it be faster, clearer, and easier to say:

        :0
        * some test
        { INCLUDERC = $HOME/dir/rc.action }

Or since it sounds like you're just looking for a way to do logical
OR'ing, why not:

        :0
        * ! some test
        * ! some other test
        { }
        :0 E
        {
            :0 Whc: vacation.lock
            | (formail -r ... ) | $SENDMAIL $SENDMAILFLAGS -t

            :0
            $DEFAULT
        }

or any of the other ways of doing logical OR'ing in procmail.  For an
example from the archive, take a look at:

http://www.rosat.mpe-garching.mpg.de/mailing-lists/procmail/1997-03/msg00240.html

That should be one line of course.

Philip Guenther

<Prev in Thread] Current Thread [Next in Thread>