[Exim] looking up different MX records for a domain

Top Page
Delete this message
Reply to this message
Author: Paul Makepeace
Date:  
To: exim-users
Subject: [Exim] looking up different MX records for a domain
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/