I'm trying to setup an email server so it has the capability to send email from multiple IP addresses, so our marketing system can send email from multiple domains, while keeping the reverse DNS lookups consistent. IE, domain1.com resolves to 10.0.0.1, domain2.com resolves to 10.0.0.2, etc.
Ideally, the mail server would check the from
domain in the headers, then choose the correct IP address from a pool, using that for the actual sending. Right now, we're using Exim, and I was thinking that one solution would be to run multiple instances of Exim on different interfaces, then write an SMTP proxy that would do the header checking and forward the email to the correct Exim instance, but I'm thinking there may be a simpler solution than that.
Just so everyone knows, this doesn't involve spamming, and we own all the domains and IP addresses we would be using.
Best Answer
If I understand you, you have the mail on a server, and that server has, say, 4 IP addresses configured on it. You would like you mail server, when sending to the internet, to use one of those four IPs as the outbound interface. If this is the wrong interpretation, please let me know.
The Exim SMTP transport can be configured to send email via different interfaces. In a hard coded manner you could do this:
I'm 99.99% the above will work, though it's obviously ugly. I think everything you need it to be handled dynamically is there ("interface" is expandable).