Hello!

Consider a scenario where Exim is relaying mail for _one_ domain to
multiple internal systems with queries to LDAP directories
deciding where mail for each local part goes to.
(Suppose that it's not possible to regularly create a local
version of this mapping, as debatable this restriction may be.)

If one implements this the straight forward way with multiple routers
like

dest_a:
  driver = manualroute
  domains = example.com
  condition = ${lookup ldapm{..URL..}{yes}{no}}
  route_list = * host_a bydns
  transport = internal_smtp

dest_b:
  ...


the following problem is not trivial to solve it seems:

As "9.5 Temporary errors in lookups" of the spec states
  Lookup functions can return temporary error codes if the lookup cannot be
  completed. For example, an SQL or LDAP database might be unavailable. [...]
  When a lookup cannot be completed in a router or transport, delivery of the
  message (to the relevant address) is deferred, as for any other temporary
  error. In other circumstances Exim may assume the lookup has failed, or may
  give up altogether. -
if _one_ destination system is not available, messages to _every_ user in this
domain will be deferred (even those at other destinations). 

For two destinations it's a workaround to have two pair of routers with
order swapped, and 
  condition = ${if and {{first_delivery}{${lookup ...}}}}
in the first pair (!first_delivery in the second), additionally tuning retry
rules.

Any idea for an Exim internal solution (no queryprogram router, run or perl)
for more than two destinations? (Using $message_age to extend the concept is
not reliable enough, I think.) 

Thanks,
  Lutz


-- 
Lutz Preßler  <lutz.press...@sernet.de>    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

-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to