Exchange 2013 mailflow explained
I’ve been playing with Exchange 2013 for a while now and overall – I love all the new features.
Let’s take a closer look at mailflow architecture in Exchange 2013…
The Exchange team calls the overall mailflow happening through a transport pipeline. A transport pipeline is nothing but a collection of windows services, some connections and some components and messages queues that act together to make the overall email flow through the categorizer in the Hub transport Service which now reside on the Mailbox server.
I thought of creating a chart to help you understand various services, where they are homed and their function:
Server role | Service Name | Functions |
Mailbox Server Role | Hub Transport service | Handles all incoming and outgoing SMTP email messages |
Message content inspection | ||
Message Categorization | ||
Acts as a middle man and routes messages between Mailbox Transport service and the Front End Transport service |
||
Is identical to the Hub Transport Server role in Exchange 2010 | ||
Never contacts the mailbox databases directly | ||
Accepts external messages from the front end transport service | ||
Mailbox Server Role | Mailbox Transport service | 2 services treated like one – Mailbox Transport Submission service and Mailbox Transport Delivery service |
The Mailbox Transport Delivery service receives SMTP messages from the Hub Transport service, and connects to the mailbox database using an Exchange remote procedure call (RPC) to deliver the message |
||
The Mailbox Transport Submission service connects to the mailbox database using RPC to retrieve messages, and submits the messages over SMTP to the Hub Transport service |
||
Mailbox Transport service doesn’t queue any messages locally | ||
Communicates directly with mailbox databases | ||
CAS Server Role | Front End Transport service | Runs on all Client Access servers |
Acts like a proxy for all inbound and outbound external SMTP traffic | ||
Can filter messages based on connections, domains, senders, and recipients | ||
Cannot read the message content | ||
Only communicates with the Hub Transport service | ||
Accepts external messages through a receive connector |
Messages inside the organization enter the Hub Transport service on a Mailbox server in one of the following ways:
Through a Receive connector.
From the Pickup directory or the Replay directory.
From the Mailbox Transport service.
Through agent submission.
Every message that’s sent or received in an Exchange 2013 Preview organization must be categorized in the Hub Transport service on a Mailbox server before it can be routed and delivered. After a message has been categorized, it’s put in a delivery queue for delivery to the destination mailbox database, the destination database availability group (DAG), Active Directory site, or Active Directory forest, or to the destination domain outside the organization.
The Hub Transport service on a Mailbox server consists of the following components and processes:
SMTP Receive:
When messages are received by the Hub Transport service, message content inspection is performed, transport rules are applied, and anti-spam and anti-malware inspection is performed if they are enabled. The SMTP session has a series of events that work together in a specific order to validate the contents of a message before it’s accepted. After a message has passed completely through SMTP Receive and isn’t rejected by receive events, or by an anti-spam and anti-malware agent, it’s put in the Submission queue.
Submission:
Submission is the process of putting messages into the Submission queue. The categorizer picks up one message at a time for categorization.
Submission happens in three ways:
Through an SMTP Receive connector.
Through the Pickup directory or the Replay directory. These directories exist on the Mailbox server. Correctly formatted message files that are copied into the Pickup directory or the Replay directory are put directly into the Submission queue.
Through an agent.
Categorizer:
The categorizer picks up one message at a time from the Submission queue. The categorizer completes the following steps:
Recipient resolution, which includes top-level addressing, expansion, and bifurcation.
Routing resolution.
Content conversion.
Additionally, mail flow rules that are defined by the organization are applied. After messages have been categorized, they’re put into a delivery queue that’s based on the destination of the message. Messages are queued by the destination mailbox database, DAG, Active Directory site, Active Directory forest or external domain.
SMTP Send: How messages are routed from the Hub Transport service depends on the location of the message recipients relative to the Mailbox server where categorization occurred. The message could be routed to the Mailbox Transport service on the same Mailbox server, the Mailbox Transport service on a different Mailbox server that’s part of the same DAG, the Hub Transport service on a Mailbox server in a different DAG, Active Directory site, or Active Directory forest, or to the Front End Transport service on a Client Access server for delivery to the Internet.
Most of the content in this article is taken from the E2013 help file. I just thought of formatting in a way easy to understand.
Ratish Nair
MVP Exchange
Team@ MSExchangeGuru
January 7th, 2013 at 3:54 am
[…] https://msexchangeguru.com/2012/08/09/e2013-mailflow/ […]
May 10th, 2013 at 12:45 pm
[…] To understand the mailflow we can read the below article: https://msexchangeguru.com/2012/08/09/e2013-mailflow/ […]
March 12th, 2015 at 4:48 am
content is very very good and easy to understand. I really apreciate.
thanks a ton.
February 10th, 2017 at 3:18 am
You have explained it in a very simple way.. Thanks!