procmail
[Top] [All Lists]

Re: Match X but not Y if is also there

2001-11-30 22:53:44
At 21:56 2001-11-30 -0600, listuser(_at_)neo(_dot_)pittstate(_dot_)edu wrote:
*sigh*  Well I feel dumb.  I wasn't even thinking of something as simple
as that.  Here's what I'm using now.

#  --  broadwing.net
:0c

This ruleset is operating on a COPY of the message. Thus, the original invocation of procmail is still running to completion on an unmodified version.

* ? formail -x"Received:" | egrep -is "broadwing.net"
* ! ^X-Loop: $ABUSE
* ! ? formail -x"Received:" | egrep -is "netzero.net"
{
        :0f
        | formail -I"X-Spam: broadwing.net" \
        -I"X-Loop: $ABUSE"

       :0:
        /var/spool/mail/quarantine/spam/broadwing.net

You're adding the X-Loop header, then dumping it into a mailbox.

}
#  --  broadwing.net


I believe that's working.  I don't have a way to test that at the moment
though.

You should. Don't you _save_ old messages? I save spam and twit traffic. I store it away so I can use it to throw the messages at updated and test rulesets.

You could simply _construct_ a series of test messages which meet your criteria, don't/nearly meet it in various ways.

See my .sig for info on something like I use for a sandbox.

bounce that message to my local non-prived user.  It shouldn't match it
because I told it to not match lines with "^X-Loop: $ABUSE" and yet it
matches it, delivers the message to my non-prived, and clones the message

Move the 'c' flag from the top of your ruleset. move the dump into mailbox rule up above the filter (I doub't you mean to modify the copy being filed - X-Loop is meaningless in a mailbox), and add the 'c' flag to the mailbox delivery rule.

procmail: Match on "advertising.com"

That isn't from the recipe you included in your post, and thus doesn't reinforce anyones belief that the logfile actually corresponds to the recipe you've posted.

procmail: Match on ! "^X-Loop: abuse(_at_)sktc(_dot_)net"

Is this what $ABUSE is set to for the above recipe?

It matches my spam search string and then matched my X-Loop header.

No, it matched *NOT* your X-Loop header. I don't have info on your whole mail processing going on, but in your main stream, the ruleset you just provided operates on a COPY of the message - meaning there's an UNMODIFIED (as in NOT CONTAINING the X-Loop header) version of the message still being handled by the original procmail invocation.

---
 Sean B. Straw / Professional Software Engineering

 Procmail disclaimer: <http://www.professional.org/procmail/disclaimer.html>
 Please DO NOT carbon me on list replies.  I'll get my copy from the list.

_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

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