RE: [exim] Adding delay on *failure* of condition - impossib…

Top Page
Delete this message
Reply to this message
Author: Eli
Date:  
To: exim-users
Subject: RE: [exim] Adding delay on *failure* of condition - impossible?
Myself wrote:
> If not, I guess my only option is to rework that "accept" and
> turn it in to a "deny" so I can use the delay. I haven't
> tested this new ACL code yet, but I'm assuming it's virtually
> identical, no? It denys if the user is unknown (and does a
> delay now), and if it's not an unknown user, hits the next
> ACL statement and accepts the user if it's in my
> "treat_as_local" list.
>
>  deny    message     = No such account <${local_part}@${domain}>
>          domains     = !+treat_as_local
>          condition   = ${lookup {${local_part}@${domain}} dbmnz
> {/etc/exim.acct.db} {${if eq {$value}{1} {yes}{no}}}}
>          delay       = ${eval:$rcpt_fail_count * 5}s
>  accept  domains     = +treat_as_local

>
> I'm sure I'll answer that last question on my own in a second
> when I test it out


... And I did, that 2nd bunch of ACL code is all wrong :)

1) I put "!+treat_as_local" rather than "+treat_as_local" in the deny
statement
2) My condition fails if the user doesn't exist, which causes the whole deny
statement to be bypassed

I can't figure out how to fix #2, since if the user@domain isn't in my
userlist db, then the lookup fails, which Exim considers as the conditions
not being met, so it passes control to the next statement which blindly
accepts any user@domain so long as the domain is considered local.

So I'm still left wondering how to apply a delay to my initial ACL code (see
first email) if the user doesn't exist.

Eli.