As I alluded to in a previous post, I’m going to replace my Exchange Server with the open source MTA Postfix. However, since I’m so very green at Postfix, I wanted to make sure that I had all my ducks in a row before deploying it.
So here is where the conundrum takes place. I want to have both the Exchange Server working while I’m testing the Postfix server. I have only one public IP address and my router is forwarding connections on port 25 (the default port for SMTP) to the Exchange Server. Because of this the Postfix server, can’t listen for incoming email.
It’s still possible to solve this problem, though. What’s the solution?
The solution is namespace sharing. For this to work, you’ll need two domains registered by a domain registry. Using your domain registry’s DNS management tool, point the MX records for both domains to the public IP address. So for example, I have the MX records for eddorre.com and phxindesign.com pointing to the same public IP address.
I want email that is destined for eddorre.com to go to the Exchange Server and email that is destined for phxindesign.com to go to the Postfix server.
Using namespace sharing, you have the Exchange Server accept mail for the phxindesign.com domain and then it forwards it onto the Postfix server beside it (beside it means logically, not physically). So in essence, both the Exchange Server and the Postfix server are sharing the phxindesign.com namespace/domain.
This is nothing new nor miraculous but it’s the first time that I’ve set this up. Microsoft has a Knowledge Base article with instructions on how this can be done with an Exchange 2000 or 2003 Server.
I should note that I did make some modifications to the instructions. I found it cleaner not to modify the Default Recipient Policy. Instead, I created a different Recipient Policy for the shared domain.
Also, the instructions say to check the option for “This Exchange Organization is responsible for all mail delivery to this address”. I found that this creates NDR when attempting to send email to an account in the shared namespace.
Now I can continue to use the Exchange Server while testing the Postfix server in an Internet environment.