Many situations benefit from address-rewriting technology. In short, address rewriting lets a server map one address to another. A simple example would be changing an internal address to a public-facing address, such as changing donald.livengood@targetdomain.com to donald.livengood@hp.com, when a user sends a message from within a company to a recipient on the Internet. Similarly, as a message arrives from the Internet addressed to a public-facing address (e.g., donald.livengood@hp.com), it would be readdressed to an internal address (e.g., donald.livengood@targetdomain.com). This type of technology is conspicuously absent from Exchange 2000 Server, forcing us to make do with a border SMTP service, such as sendmail or Postfix, or to fall back on the Exchange Server 5.5 Internet Mail Service (IMS) and its RerouteViaStore registry setting (as the Microsoft article "XIMS: How to Force SMTP Messages Through the Information Store" at http://support.microsoft.com/?kbid=238471 describes). I'm happy to report, however, that the technology is part of Exchange Server 2003, so you can set up and use this handy new feature in your Exchange 2003 environment.
The Scenario
The most obvious situation in which you can benefit from address-rewriting technology is when one company merges with or acquires another company. After such a merger, the companies need to appear as one entity. Having a common email address across companies and potentially across email systems and Exchange organizations is one aspect of presenting a unified front. Address-rewriting functionality offers a solution in this environment.
Let's build a fictitious scenario to use as an example of such a situation. A consulting company called Top Feeder has purchased its rival, Bottom Feeder. Top Feeder's IT staff has decided that all email entering or exiting either company will traverse the Top Feeder Exchange 2003 environment. This environment is represented by the SMTP domain, top.tst. Because the two companies need to present one external presence from a messaging standpoint, all Bottom Feeder users must be addressable through a top.tst address even though email is actually delivered to their native environment, bottom.tst. For this setup to work properly, a naming convention must be in place to avoid naming conflicts. Figure 1 shows a graphical representation of the scenario.
To better understand the scenario, let's examine what occurs when a user called Bottom1 in the Bottom Feeder organization sends a message over the Internet. When Bottom1 sends a message, the From field will have an address of bottom1@bottom.tst. Because all messages to the Internet will traverse top.tst, and because the appearance of one messaging domain is desired, Bottom1's address needs to be rewritten so that the From field contains bottom1@top.tst. When the recipient replies to the message, the reply needs to route back through top.tst to the bottom.tst environment. For this process to work successfully, you need to create a contact for the user bottom1@bottom.tst in the top.tst Active Directory (AD), assign the contact certain attributes, then configure Exchange to take advantage of those attributes and rewrite the addresses.
To prepare your systems to take advantage of Exchange 2003's address-rewriting feature, begin with the following steps:
- Use the Microsoft Management Console (MMC) Active Directory Users and Computers snap-in to create a top.tst contact for Bottom1 (who has a native address of bottom1@bottom.tst). For simplicity, let's call the contact Bottom1Contact.
- During creation of the contact, set the Bottom1Contact target address to bottom@bottom.tst. You can view this target address through the Active Directory Users and Computers console by right-clicking a user, opening the Properties dialog box, then clicking the Exchange General tab. The E-mail field contains the target address, as Figure 2 shows.
- On the E-mail Addresses tab, set the Bottom1Contact primary SMTP proxy address to bottom1@top.tst, as Figure 3 shows.
Now, when Bottom1 sends email over the Internet, the message will go to administrator@dotnet.test and have a From field that contains bottom1@bottom.tst. The top.tst and bottom.tst forests are connected through an SMTP connector. The connector on the bottom.tst bridgehead has an address space of "*" and forwards all messages to an Exchange 2003 SMTP Virtual Server in the top.tst forest.
The bridgehead server in top.tst looks up all recipients in the From, To, and CC fields of the message. If the recipients are in the bridgehead server's local AD, the bridgehead server rewrites the addresses to match their primary SMTP address. After performing the address rewrite, the bridgehead forwards the message to the Internet through an appropriately configured connector.