Hosting multiple domains on a single email server with one IP

I have an email server (mail) that currently hosts one domain example1.com. The server is behind NAT and I have split-dns configured on the LAN.

The time has come to host additional domains on the same email server and after many hours of googling I have read conflicting information on how to create the public (external) and internal DNS records. There seems to be two approaches to configuring the MX and A records which I will demonstrate below.

APPROACH 1

External DNS for example1.com

example1.com      7200 MX 10 mail.example1.com.
mail.example1.com 3600 A  213.xx.xx.xx

External DNS for example2.com

example2.com      7200 MX 10 mail.example1.com.
mail.example1.com 3600 A  213.xx.xx.xx

In the first approach the MX record for example2.com points to the first domain, e.g. example1.com.

This seems to be how email hosting companies like Google Apps and ISPs work.

The problem with this method for my situation is that I don't want emails from example2.com to show that they originate from example1.com. The "solution" to this would be that I purchase a third domain let's say mail.myemailserver.com which would be used as the default (or first) domain for the email server.

APPROACH 2

External DNS for example1.com

example1.com      7200 MX 10 mail.example1.com.
mail.example1.com 3600 A  213.xx.xx.xx

External DNS for example2.com

example2.com      7200 MX 10 mail.example2.com.
mail.example2.com 3600 A  213.xx.xx.xx

In the second approach the MX record for the second domain points to its own domain, e.g. example2.com.

What I'm asking for is have I understood the configuration of multiple domains hosted on a single server and is there a best practice or advice on which approach I should implement in my own environment.


Solution 1:

Both approaches are valid, do know that this record will not show as the originating address. When you send an email to one of your configured addresses, the sending MTA will look up the MX record configured for your domain. It will get the IP from that domain and it will open an SMTP session with your SMTP server (or one of your SMTP servers if you have configured more than one).

Even without an MX record it will work, because then the MTA just looks up the A record for your domain. (providing your A record points to your SMTP server of course)

Solution 2:

Both approaches are perfectly valid. Approach 1 is probably better if you would like to use TLS later on.

By the way, the mail exchanger record doesn't show where mails originate but where they will be sent to.