Re: [exim] $spam_score_int

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Phil Pennock
日付:  
To: Christian Meutes
CC: exim-users
題目: Re: [exim] $spam_score_int
On 2008-11-24 at 16:49 +0100, Christian Meutes wrote:
> what could be the reason that $spam_score is set but $spam_score_int isn't?


That's not happening.

> acl_check_data:
>
>   warn    message   = X-Spam-Score: $spam_score ($spam_bar)
>           spam      = nobody:true
>   warn    message   = X-Spam-Report: $spam_report
>           spam      = nobody:true

>
>   deny    message   = Classified as spam (score 
> $spam_score)\nX-Spam-Report:$spam_report
>           condition = ${if >{$spam_score_int}{400}{1}{0}}
>           spam      = nobody:true/defer_ok


Your condition is true for scores greater than 40.0 (and 40.0 itself is
not large enough, I suspect >= would be closer).

> 1873 processing "deny"
> 1873 check condition = ${if >{$spam_score_int}{400}{1}{0}}
> 1873                 = 0
> 1873 deny: condition test failed
> 1873 processing "accept"
> 1873 accept: condition test succeeded
> 1873 >>Headers added by DATA ACL:
> 1873   X-Spam-Score: 10.3 (++++++++++)


So $spam_score is 10.3, thus $spam_score_int will be 103. 103 is not
greater than 400, so the ${if <condition> } took the 'else' branch,
resulting in 0.

If you use -d+expand you'll see the expansion broken down into more
detail.

-Phil