Re: [exim] Router problem

Top Page
Delete this message
Reply to this message
Author: Schramm, Dominik
Date:  
To: exim-users
Subject: Re: [exim] Router problem
Hi Hans,

Hans Klose wrote on Wednesday, July 23, 2008 11:03 AM:

> Normaly exim tries it to 4 days but in this special case it only
> tries it for one minute :-(


Some searching (I've had such errors before, too, but in other
contexts) got me to this post:

http://lists.alioth.debian.org/pipermail/pkg-exim4-users/2005-April/000054.html

> The script ldap_check_rcpt return "false" when something
> is wrong with the ldap response or if the user isn't an
> internal user.
>
> So the condition is false and the lookup router would be
> taken, or not?


Correct.

As to not having an additional LDAP lookup, I'm stuck. There
should be a way to avoid double LDAP lookup, but I cannot see
it clearly yet. E.g. you could use an approach somewhat like
this (using an additional sub return value "ldapdown"):

ldap_lookup:
    debug_print = "R: LDAP Lookup Router"
    driver      = manualroute
    condition   = ${if !eq{${perl{ldap_check_rcpt}{router}}}{false}{yes}{no}}
    host_find_failed = defer
    route_list = * ${if eq{${perl{ldap_check_rcpt}{router}}}{ldapdown}{non-existent-host}{192.168.0.10}}
    transport   = remote_smtp


Now, if there is a way to cache or store the result of the
perl call then one of those above could be avoided.

See here what host_find_failed does:

http://www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#SECTprioptman

Dominik