I would like to put a machine in front of a domain's normal MXs as a
filter. Let's say domain D has MXs A and B, priority 1 and 2 (so B is a
backup). Now I would like to put an MX F in front of A and B but somehow
have F deliver to A or B following identical MX semantics as before.
(Domain D's MX would of course have to change to F.)
Reading copious docs it seems like F would be acting a little like a
mail hub, as per spec/19.6
http://www.exim.org/exim-html-4.00/doc/html/spec_19.html#SECT19.6
I can't figure out how to pass on routing info to exim that it treats
like MX though, with multiple machines and different priorities. Is this
possible? If not, with some C hacking?
Also, I couldn't find an explicit description of exim's behaviour with
multiple hosts in route_list - does it try one after the other? (Sec.
19.3 and 19.4 are useful for syntax but not what it *does*, as far as
my comprehension goes :-)
**
However, since F might actually be more than one machine I thought how
about putting the route data in DNS so all hubs/filters F1, F2, etc can
see it. I did this hack: put the domain name in DNS under another
hold-all domain with the route data in exim format as a TXT record, so
for the above scenario,
D IN TXT A:B
And then as a router,
forward_domains:
driver = manualroute
route_data = ${lookup dnsdb{txt=$domain.filter.example}{$value}fail}
transport = remote_smtp
This actually works(!) but a) seems like a hack b) AFAIK doesn't follow
MX semantics.
Is there a better way?
Many thanks,
Paul
--
Paul Makepeace .......................................
http://paulm.com/
"If it can be squeezed in before noon, then I'd be one step closer to
heaven."
--
http://paulm.com/toys/surrealism/