Rick Cooper wrote:
 Sorry to mess up the thread, I lost the original

-----Original Message-----
From: Dhawal Doshy [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 06, 2007 9:39 AM
To: users@spamassassin.apache.org
Subject: Re: Annoying stocks scams

[EMAIL PROTECTED] wrote:
Hi List!

[ ... ]
meta      HILO_STOCKS     ( __HILO_STOCKS1 && __HILO_STOCKS2 )
describe  HILO_STOCKS     Looks like stocks scam
score     HILO_STOCKS     3.5

It's my first meta rule, which only gives a score if both
conditions are
true, and I was wondering if there's a possibility to make
the score
more "intelligent" :

- if __HILO_STOCKS1 fires up, i would like to give the
score maybe 0.5
- if __HILO_STOCKS2 matches as well together with
__HILO_STOCKS2, make
it 3.5
[ ... ]

Define two metas, the first one hits only when 1 is true and 2 is false
The second hits when both are true. You have to use the negation for 2
In meta one or you would double dip whenever both are true.

meta      HILO_STOCKS_1     ( __HILO_STOCKS1 && !__HILO_STOCKS2 )
meta      HILO_STOCKS_2     ( __HILO_STOCKS1 && __HILO_STOCKS2 )

describe  HILO_STOCKS_1     Looks like stocks scam First Hit Only
describe  HILO_STOCKS_2     Looks like stocks scam Both Hit

score     HILO_STOCKS_1     0.5
score     HILO_STOCKS_2     3.5

If you wanted to score the 0.5 whenever either 1 or 2 is true and the other
is false

meta      HILO_STOCKS_1     ( (__HILO_STOCKS1 && !__HILO_STOCKS2) ||
(!__HILO_STOCKS1 && __HILO_STOCKS2) )

Hi Rick,

Though this looks simpler, you are effectively adding an extra meta.. you could simply replicate the AND/OR effect by modifying the scores.

body      HILO_STOCKS_1     whatever1
body      __HILO_STOCKS_2   whatever2

meta      HILO_STOCKS     ( HILO_STOCKS1 && __HILO_STOCKS2 )

score     HILO_STOCKS_1     0.5
score     HILO_STOCKS     3.0

Only HILO_STOCKS_1 ==> 0.5
Only __HILO_STOCKS2 ==> Nothing
Both ==> 0.5 + 3.0

Though i'm not sure how much overhead one extra meta will have??

Reply via email to