procmail
[Top] [All Lists]

Re: MATCH variable(Re: spam from murlin

1997-05-21 16:18:00
R Lindberg & E Winnie <rlindber(_at_)kendaco(_dot_)telebyte(_dot_)com> writes:
<request for example snipped>
Test file:
:0:
* ^Subject:.*(fred|jim)
{
LOG=$MATCH'
'
:0
/home/rlindber/spam1.log
}

You're missing the \/ token in your condition.  To quote the
procmailrc(5) manpage:

     MATCH       This variable is assigned to by  procmail  when-
                 ever  it is told to extract text from a matching
                 regular expression.  It will  contain  all  text
                 matching  the  regular  expression past the `\/'
                 token.

Also, a lock on a non-copying nested block does nothing, as your
logextract shows:

procmail: Extraneous locallockfile ignored


So, your recipe should be written:

        :0
        * ^Subject:.*\/(fred|jim)
        {
            LOG = $MATCH'
        '

            :0:
            /home/rlindber/spam1.log
        }

Note that you *do* need the parens in the above, because the \/ token
does *not* alter precedences in the parsing of the regexp.


Philip Guenther

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