On 11/09/06, Balzi Andrea <andrea.balzi@???> wrote:
> I've the follow configuration on my acl, but sometime Spam check is not executed.
> If I check the header of some mail that pass without spam check I've not found the X-Spam Headers.
> This is my problem and I've not understood how can solve it.
> In one previous mine mail I have sended also a debug of one mail not controlled.
And my response was:
> Your ACL is not firing because of a DNS lookup failure on the IP of
> the sending host. If this behaviour isn't what you want, rearrange the
> ACL conditions to suit - check the docs for all the possible condtions
> you can use.
> # Aggiunta degli header a tutte le mail del controllo AntiSpam
> warn message = X-Spam-Score: $spam_score ($spam_bar)\n\
> X-Spam-Report: $spam_report\n\
> Subject: ***SPAM*** $h_Subject:
> hosts = ! lsearch;/etc/exim4/nospam_check_hosts.cfg
> spam = nobody
>
> # Scarto delle mail che hanno un punteggio > 12
> drop message = This message scored $spam_score spam points.
> hosts = ! lsearch;/etc/exim4/nospam_check_hosts.cfg
> spam = nobody:true
> condition = ${if >{$spam_score_int}{120}{1}{0}}
The way you have the 'hosts = ! ' requires a valid reverse DNS lookup
on the connecting IP in order for the comparison condition to work.
The debug output you posted clearly shows this. This means that IPs
without working RDNS will be skipped by your ACLs. Exim doesn't know
if the host is in your list because your list contains hostnames, and
it can't resolve the hostname of the IP that's connecting.
If you want something else, you need to rearrange the conditions in
these ACLs so that they're not dependent on a hostname lookup.
Peter
--
Peter Bowyer
Email: peter@???