Hosting Multiple SMTP Domains on your Exchange 2000 Server
Many people in the Microsoft Exchange 2000 newsgroups seem to want to know how to host multiple SMTP Domains on their single Exchange 2000 server, Microsoft has some good Knowledgebase articles about the steps required, so I thought I would take the time to make the documents a little clearer and offer some additional insight on how the process works.
Lets start by looking at the actual process of using SMTP mail on the Internet, lets assume we have two companies abc.com and 123.com, a user at abc.com has sent a message to [email protected], what happens now.
The message for [email protected] would have been sent to the queue on the server at abc.com that is responsible for sending out Internet based mail, now the fun begins.
What we need to do is find out what server at 123.com is responsible for receiving Internet based mail, this is done using DNS, in DNS we have a special record called an MX (Mail Exchanger) record, the MX record points to an A (Host) record of the server responsible for receiving incoming Internet mail for that domain, the A record points to the Public IP address of the server.
It is important to understand at this point that the DNS information is not necessarily created by you, it must be on a public DNS server, that is accessible by the rest of the Internet, so it may well be your ISP or Hosting company that would be responsible for the DNS records that your organization needs, so make sure you speak with them about your needs.
So back to our message that we need to send to [email protected], as we said it is sitting in a queue waiting to get sent, the figure below illustrates the concepts of sending the message.
Server1.abc.com now know what server is responsible for receiving mail for the domain 123.com, because the Public DNS server told it.
Server1.abc.com will now establish a TCP session using port 25 (SMTP) with server1.123.com and the message will be transferred, nothing too complicated about that.
The message is going to be received by server1.123.com, and held in a queue, server1.123.com, is now going to use the Active Directory to locate the actual mailbox that the message should be delivered too, in our case [email protected], the mailbox might be on server1.123.com, in which case it will be delivered or the mailbox may reside on another server, if this is the case the message will be routed by Exchange to the correct server (this is shown in the next diagram).
So the question is how does Active Directory know what mailbox belongs to [email protected], well when you install Exchange 2000 it creates what is know as a “Recipient Policy” and the Recipient Policy is used by the Recipient Update Service (RUS) to create the users SMTP email addresses, the Recipient Policy also tells Exchange what SMTP domains it has the responsibility for.
You can find your Recipient Policy by performing the following steps:
1. Open the Exchange System Manager
2. Expand Recipients
3. Click on Recipient Policies
4. You will now see the “Default Recipient Policy” listed in the right-hand pane of the screen
5. If you right-click on the “Default Recipient Policy” and select Properties, you can navigate to the “E-Mail Address” tab and see the address that will be created for you, see the figure below:
So from the figure above we can see that Exchange will create an SMTP address for our users using the @123.com address, notice the checkbox “This Exchange Organization is responsible for all mail delivery to the address”, if this was not check Exchange would reject the mail, even though the Public MX record for 123.com pointed to this server.
The information I have provided above, summarizes the steps used to send SMTP mail, so back to the real question, how do you get your Exchange environment to host more than one SMTP domain?
Our organization currently holds the mail for 123.com by we also want it to host mail for 456.com, as we have seen one of the crucial elements is the MX record, so you will need to ensure that an MX record as been created for 456.com that point to the server who is responsible for his mail.
So when a user at abc.com sends some mail to a user at 456.com, our sending SMTP server will query the Public DNS server for an MX record for 456.com, this will be resolved to server1.123.com, which in turn will be resolved to the IP Address 192.168.1.100
But as we know, we have to tell our Exchange organization that it is responsible for handling the mail for 456.com, this is done using our Recipient Policy, so if every user in our organization should have two email addresses one for 123.com and one for 456.com we can edit our “Default Recipient Policy” and add the extra address as detailed below:
1. Navigate to the “Default Recipient Policy” and open its properties.
2. Click on the “E-Mail Addresses” tab and click on New
3. From the “New Email Address” dialogue box, select SMTP
4. In the “Address” box enter the SMTP domain name (including the @ sign) that you would like to create, make sure that you also check the “This Exchange Organization is responsible for all mail delivery to this address”
5. Click OK, and you will now see the “E-Mail Address” tab as shown below, make sure you check the box next to the new SMTP address you just created.
6. You will notice that one of the SMTP address is listed in bold, this is referred to as the Primary SMTP Address and will be used as the reply address for the user, if you need to chance this, highlight the SMTP address that you would like to make the Primary and click on the “Set as Primary” button.
7. Click OK to exit out of the “Default Policy” Properties, you will be prompted with a dialogue box asking if you would like to apply the new policy, click Yes to the question.
I would suggest you force the “Recipient Update Service” to run, this will ensure that your users accounts are updated, for more information on the “Recipient Update Service” look at this article:
Here are some resources on the Microsoft website that you may also find of interest: