In Exchange 2000 Server and Exchange Server 2003 it was challenging to manipulate e-mail messages as they were routed through the organization or as they passed through the gateway to and from the internet. In those versions, SMTP was managed by an extended implementation of IIS SMTP.
Controlling SMTP messages in simple ways, such as archiving, appending a disclaimer or implementing a catch-all mailbox, required coding (or borrowing code) SMTP Transport event sinks and registering them on the appropriate servers. While some functionality could be attained with VBScript, many sinks required Visual Basic, C# or C++ to meet the goals of the administrator. Exchange 2007 reverts to a proprietary SMTP implementation that exposes some basic message control during routing using a mechanism called Exchange 2007 Message Transport Rules.
Hub Transport Role versus Edge Transport Role
There is a slightly different scope and interface available for managing Transport Rules on the two roles that support them. Transport Rules administered at the hub transport server role are stored in the Exchange configuration container in Active Directory. Hub Transport Rules are centrally configured at the organization level. Transport Rules configured at the Edge Transport role are local to the Edge server, stored in ADAM. Hub Transport Rules are typically focused on compliance; whereas, Edge rules are often concerned with message hygiene.
Creating and Administering Transport Rules
The GUI for managing Transport Rules exists within the Exchange Management Console (EMC) and really resembles the Outlook Rules Wizard making it rather easy to learn. On a Hub Transport server, there is a Transport Rules tab in the Hub Transport properties of the Exchange Organization folder, as shown in Figure 1. This basic scenario shows 3 Transport Rules. The same 3 rules are visible through the Exchange Management Shell seen in Figure 2.
Creating a rule through the EMC is very simple. Like the Outlook Rules Wizard, message Transport Rules follow a logical creation path. If certain conditions are present in the message, then perform specific actions unless certain exceptions apply. Figure 3 shows an example of subject line manipulation based on a sender domain.
Exchange Management Shell also has many Cmdlets for administering Transport Rules. The "action" portion of the commands are self-explanatory:
- Get-TransportRule
- Set-TransportRule
- New-TransportRule
- Enable-TransportRule
- Disable-TransportRule
- Remove-TransportRule
Transport Rules can also be exported to XML and imported from the command line. More information on composing proper Exchange Management Shell cmdlets for Transport Rules can be found in Technet at Transport Rules Cmdlets.
Other Features
Rules can be based on a number of items, including internal versus external messages, header items, message body content, and sender or recipient information. The Hub Transport Rulesets are very valuable for compliance. All messages must go through a hub transport server, and therefore all messages can have rules applied to them. As such, administrators can maintain solid control of messages for archiving or establishing ethical walls internally (for example, the accounting personnel may be prohibited from emailing the plant workers or vice versa). There is a limit of 1000 Transport Rules in an Exchange organization; however, this limitation is simply the threshold Microsoft tested up to and therefore supports.
Message Transport Rules are one of the most relevant areas of improvement for Exchange Server 2007. Tasks that were daunting in previous versions, yet menial in competing products, now have a quality solution with multiple interfaces and granular control.