[exim] Comparing SA-Spam-Score with User Spam-Score

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Alexander Stintzing
Date:  
À: exim-users
Sujet: [exim] Comparing SA-Spam-Score with User Spam-Score
Hello @ all!

I'm using exim 4.63, spamassassin 3.23 and do not use sa-exim.

I'm defining a router which shall catch all the mails, which have been
scanned by another router following this one.

It works fine without the "{> {${sg{{$h_X-Spam-Score:}..." - comparison.
All mails are being scanned and then this router catches the mail where
X-Spam-Flag=Yes and user-setting sa_on=1.

But when I add the "{> {${ sg{{$h_X-Spam-Score:}..." - comparison, all
Mails are being catched by this router, and delivered by the local_spam
- transport, without being scanned or anything else. So this always
returns 'true'.

That's the Router:

spampositive_local:
 users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
  condition = ${if and \
                { \
                  {match {$h_X-Spam-Flag:}{YES}} \
                  {eq {${lookup mysql{select users.on_spamassassin \
                    from users,domains \
                    where localpart = '${quote_mysql:$local_part}' \
                    and domain = '${quote_mysql:$domain}'\
                    and users.on_spamassassin = '1' \
                    and users.type = 'local' \
                    and users.domain_id=domains.domain_id}}}{1} \
                  } \
                  {> {${sg{{$h_X-Spam-Score:}{\.}{}}} \
                    {${lookup mysql{select users.sa_tag * 10 \
                      from users,domains \
                      where localpart = '${quote_mysql:$local_part}' \
                      and domain = '${quote_mysql:$domain}' \
                      and users.domain_id=domains.domain_id } \
                    {$value}fail}}} \ 
                  } \
                } \
                {yes}{no}}
  driver = accept
  transport = local_spam


What is the problem with this?

Thanks for any advice!