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