procmail
[Top] [All Lists]

Re: if-not-met with E, what will happen exactly

2000-03-19 17:56:36
At 01:16 PM 3/19/00 +0100, Rejo Zenger wrote:
Hi,

I was trying to set up a filter that catches forged Received from fields
inserted by the "-0700 (EDT)" spamware. Hwoever, i have small problem.

The recipe:

 :0
 * ^Received: foo
 {
        :0
         * ^Received: foo.bar
         action foo.bar

         :0 E
         * ^Received: foo.baz
        action foo.baz

         :0 E
        action foo
 }


What i wanted is this:

 if ... done
 elif ... done
 elif ... done
   ^^^^ I think you meant "else"

For this purpose, you can just omit the E flags... once "delivery"
occurs, processing will stop.  Thus:
   if ... done
   if ... done
   ... done
does the same, you don't need the "else"s due to the "done"s.

So, if foo.bar matches it should do the action for foo.bar and exit this
recipe completly. If foo.bar matches it will not test for foo.baz because of
that 'E' flag on that foo.baz test, but will it still do that last one?
Or will it skip that last one as well because of this 'E' flag on that
one?

It won't get that far in processing.

Hope that helps,
Stan

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