How Mail Flow Works in Exchange Server

In this article, we are going to see how both internal and external mail flow works in Exchange server to have a better understanding which will help you to troubleshoot any issues related to mail flow.


Have you ever wondered how the mails are getting delivered to the recipients? There are lot of things going on in the background in order to complete a single transaction. Are you interested to learn about the mail flow? Then you are in the correct place:). In Exchange server 2010, hub transport server is responsible for delivering the mails to the next hop. I would like to give an example to explain about this concept. This will make you to understand clearly so that at any given point of time if you have any issues in mail flow then it will be easy for you to troubleshoot.

Example Architecture:

Consider we have two Exchange servers namely “Server 1” and “Server 2” with all 3 roles (Mailbox, HUB Transport, Client Access) were installed in it. We have two users “User A” and “User B” whose mailboxes resides in each server respectively. That is “User A” mailbox is in “Server 1” and “User B” mailbox is in “Server 2”. Let’s assume “User A” sending email to “User B” and also keeping “User B’s” Gmail address in the CC field. Let’s see how the mail flow works here.

Mail Flow:

Once the “User A” clicked the Send button in the client either it could be an Outlook or ActiveSync, mail will go to either outbox or drafts depending on the client version. Mailbox role will come to know that there is a new mail which needs to be send out of that user mailbox. So it will use the “Mailbox Submission” service to contact the HUB role even though it got installed in the same server. Microsoft Exchange Mail Submission

Mailbox Transport service will then come and pick up the mail and put it in the Submission queue. You can see the queue in the “Queue viewer” which is available in Exchange management console under “Tool Box” section. The queue got its own database called “Mail.Que” which stores all the mails temporally until it gets processed. It requires minimum of 20% free space else back pressure will be applied and the mail will not be processed.Submission Queue

Once the mail reached submission queue then Exchange will apply first in first out concept and it will start process the mails. HUB server will start categorizing it and do all pre checks. In our scenario, “Server 1” is processing the email and it will bifurcate the mail into two copies.

One will be send to “Server 2” using InterOrg Send connector through port number 25 which is for SMTP protocol. The “Server 2” will receive the mail using “Recipient connector” and start processing it again. Since the recipient is resides in “Server 2” it will deliver it to MAPI delivery queue using MAPI protocol.

Second copy will be placed in a new queue called “Gmail” and then using Send connector it will try to connect with Gmail server. To do that, Exchange Hub server will contact the internal DNS server to query MX record of Gmail server. Internal DNS server will forward the request to global DNS and get back to Exchange server with Gmail MX IP. HUB server will then do a SMTP connection using port no 25 with Gmail MX IP and deliver the mail.

In case we have any smart host like anti-spam cloud then Exchange Hub will deliver the mail using the same method to anti-spam server, and then anti-spam server will deliver to Gmail on behalf of our Exchange server.


Hope you understood how the mail flow works. Mail.que will only store the mails temporarily however the emails will get stored actually in the .edb mailbox database. If there are any issues in the .edb files then we need to restore from backup. Alternatively you can consider OST 2 PST converting method which is an easy option.

Author Introduction:

Sophia Mao is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including outlook recovery and word recovery software products. For more information visit

Leave a Reply

Your email address will not be published. Required fields are marked *