Re: [exim] logwrite strangeness

Páxina inicial
Borrar esta mensaxe
Responder a esta mensaxe
Autor: Richard.Hall
Data:  
Para: exim-users
Asunto: Re: [exim] logwrite strangeness
Jerry,

Order, order!

On Fri, 8 Oct 2004, Jerry Bell wrote:

> Admittedly, I'm making exim do horrible and unspeakable things with
> databases, but it all works, except one thing. The logwrite statement
> attached to the ACL that rejects mail (first one below) fires for just
> about every email that comes through. The logwrite statement in all of my
> other ACL's only fire when that ACL happens. I was under the impression
> that logwrite only triggers when the condition of the ACL is true, but
> that isn't what I'm seeing.


Quote (off the web spec)

logwrite = <text>

This modifier writes a message to a log file as soon as it is encountered
when processing an ACL. (Compare log_message, which, except in the case of
warn, is used only if the ACL statement denies access.)

Unquote.

In your first ACL, logwrite comes before anything significant, so will
fire every time, before the condition is tested..

> BTW, I'm running 4.42 on FreeBSD 5.
>
> Many thanks,
>
> Jerry
>
> deny   message = This message scored $spam_score spam points.
>        logwrite = Message rejected as spam. $recipients $spam_score_int
>        condition = ${if >{$spam_score_int}{${lookup mysql{select
> spam_reject_threshold from domain where domain_name = '${acl_m0}'}{
> $value}fail}}{1}{0}}
>        spam = nobody:true
>        sender_domains = !+whitelist_from_domains

>
> warn  message = X-New-Subject: *SPAM* $h_Subject
>       condition = ${if >{$spam_score_int}{${lookup mysql{select
> spam_flag_threshold from domain where domain_name = '${acl_m0}'}{$va
> lue}fail}}{1}{0}}
>       spam = nobody:true
>       logwrite = Message tagged as spam. $recipients $spam_score_int

[...]

HTH,
Richard