Re: [Exim] 4XX messages from ACL

Top Page
Delete this message
Reply to this message
Author: Nico Erfurth
Date:  
To: Giuliano Gavazzi
CC: exim-users
Subject: Re: [Exim] 4XX messages from ACL
Giuliano Gavazzi wrote:
> In a previous email I asked how one can generate a temporary failure in
> an ACL.
> At the time I achieved this by forcing a lookup as part of an expansion
> that
> happens when a temporary failure should indeed occur.
> There is a better option though: use the an invalid result from a
> condition to
> cause the deny to defer:
>
>
> deny    sender_domains  = hotmail.com : yahoo.com : ... : att.net
>         message         = X-Forgery: $sender_host_name NOT A
> $sender_helo_name SERVER
>         condition       = ${if eq {$sender_host_name}{}{defer}{yes}}
>         condition       = ${if eq \

>
> {${extract{-2}{.}{$sender_host_name}{$value}fail}}\
>
> {${extract{-2}{.}{$sender_helo_name}{$value}fail}}\
>                                 {no}{yes}\
>                         }

>
> (note that I have simplified my sanity check on the HELO params).
>
> Still, is there a way to change the returned message from:
>
> 451 Temporary local problem - please try later
>
> to something else?
>
> And even more important how to change the log message:
>
> 2002-12-02 23:26:38 H=(server.invalid.dom@in) [216.34.x.y]
> F=<a@???@in> temporarily rejected RCPT <b@???@in>:
> invalid "condition" value "defer"
>
> What about setting the message to the "invalid" string returned by
> the condition?
> Mmm, perhaps this is not such a good idea as in general it might
> reveal data that
> should not be.
>
> Still, this is a heaven compared to sendmail configuration..
>
> Ideas?


Yes, do this while your sender verification in a router, that only does
verification, like this

verify_router:
driver = redirect
senders = *@aol.com:*@att.net:*@hotmail.com ....
condition = ${if .... whatever ....}
allow_defer
data = :defer: SomeText
verify_only

and just use

deny verify = sender

in your ACL

ciao