Mail Flow in Exchange Server 2007

October 16 2008 by Michael B. Smith, MCSE/Exchange MVP
google ad 120x240 white banner - Exchange pages

Actual mail transport, that is moving email from one server to another, only touches three of the five server roles in an Exchange server 2007 infrastructure. Those servers are the Hub Transport role, the Mailbox role, and the Edge Transport role.

People are often surprised that both the CAS and the Unified Message roles are not on that list. However, while a CAS can create a message in any number of formats (email, contacts, calendars, etc. via Outlook Web Access or Exchange Web Services) and a Unified Messaging server can create a voice mail message - that’s all they do. They submit a message to be handled; and in both those cases, they do so to the Mailbox role.

When a message is submitted, via any of Outlook, OWA, EWS, etc. then goes into a temporary “holding tank” item on the mailbox server of the user that submitted the message. The Mailbox server notifies the Hub Transport that a message is waiting; the Hub Transport picks up the message and places it into the Submission mail queue. From this mail queue, the various transport agents will operate on the message. This may include anti-spam agents, journaling agents, transport rules, etc. It is possible that a transport agent may decide that a message should have a Non-Delivery Report (NDR) generated and the original message will be returned to the sender without any further processing. A transport agent may decide that a message should be “dropped on the floor” with nothing else done to the message. A transport agent may decide that a message should be forwarded to a moderating party - either because the message appears to violate a corporate guideline or because the message is sent to a moderated public folder.

However, if all of the transport agents “pass” the message for further processing, then the transport engine will select a destination queue for the message. This queue may be local delivery - and if so, the message is delivered to the local recipient and the evaluation process tops. This queue may be based on DNS resolution and destined for a particular extern destination SMTP server. This queue may also be an interoperational routing group connector, if your organization is operating with legacy (Exchange 2003 or Exchange 2000) servers in your environment. This queue also may be for a Hub Transport server in another Active Directory site (if you have multiple Exchange servers in multiple AD sites). Finally, this queue may be for your outgoing gateway server (which is often an Edge Transport server and often a third party forwarder such as Postini).

So, we have this view: email is created on either a CAS or a Mailbox server by a user. Alternately, it can be created by the transport engine itself on a Hub Transport server. In all of those cases, the message is transferred to the Submission queue on a Hub Transport server. The Hub Transport applies transport rules. If a message still exists after that processing, the Hub Transport queues the message for delivery to the “next hop” destination, which may be the final destination.

So far, we have not covered either bifurcation (which may happen when a message has multiple recipients) or fan-out (which happens when a message has multiple recipients in multiple Active Directory sites). Those are subjects for future articles.

Links

 

More Information