On Wed, 15 Jul 2009, Phil Pennock wrote:
> On 2009-07-15 at 07:53 +0200, Lutz Preßler wrote:
[...]
> > works, of course. But if the lookup times out in the first router
> > while figuring out if it should handle this local part, the message
> > is deferred immediately without doing the lookups in the other router(s).
[...]
> Yes, the general idea is that mail routing should be deterministic and
> if you can't figure out if "X" should handle a mail, it's not safe to
> just carry on.
Yes, sure. This special case is different though as potentially conflicting
local parts at the destination systems are dealt with administratively
(or at least seen as a smaller problem than deferral of all incoming mail).
>
> Generally, if things have scaled to where you want to use LDAP then
> hopefully you have more than one LDAP server anyway, using some
> read-only replicas, perhaps even one local to the mail-server.
(Not possible in practice.)
[...]
> If all your LDAP servers go down, then good design means that will have
> to be some kind of network or DNS issue and in either of those cases,
> holding the mail is the right thing to do anyway.
It's not good design at all, but part of helping to deal with technical
(and organizational) restrictions (including network structure) hopefully
leading to a well designed overall system later.
That's why I am not proposing to change lookup errori handling in
Exim (even though a way to disable automatic deferral and e.g. a
variable to access the last lookup's status would have been
nice), but just hoped that someone would come up with a clever trick
I haven't seen. I'll probably go the embedded perl route.
Lutz
--
Lutz Preßler <Lutz.Pressler@???> http://www.SerNet.DE/
SerNet Service Network GmbH, Bahnhofsallee 1b, D-37081 Göttingen
Tel.: +49-551-370000-2, FAX: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen