Microsoft Exchange 2013 Mail Flow Architecture
In Exchange server 2013 many changes have been made to simplify the process to manage the mail flow. In Exchange server 2010 we need to have separate hub transport server and separate edge transport server but in exchange server 2013, this is no longer needed and we don’t need to install separate hub transport server and edge transport server. The Whole Exchange Server has been simplified for better management and efficiency. The installation in the exchange 2013 have also been simplified. We need to install only 2 roles to manage the exchange 2013. They are
1. Mailbox Role (MB)
2. Client Access Role (CAS)
One of the important thing you need to keep in mind is exchange server 2013 does not support mmc management console, you need to login through the browser for the configuration and you need to depend on the powershell for troubleshooting. Without the powershell knowledge you cant able to work with the exchange server 2013.
Now lets talk about the important transport services which are involved in transporting the mails from one user to other user.
Related : New features in Windows Server 2012 R2
Front-end Transport service:
- Front-end Transport service runs on the Client Access Server (CAS).
- Acts as a stateless proxy for inbound and outbound external SMTP traffic.
- Front-end Transport service does not check the messages and queue the message.
- Front-end Transport service communicates with the Transport service.
- Transport service runs on Mailbox servers.
- Transport service was same as Hub transport service which was used in the previous
- It handles the SMTP mail flow.
- Categorize the message and inspects the message.
- Like previous version it doesn’t communicates with the MB database.
- Routes the messages between Mailbox Transport service, Transport service, Front End
- Mailbox Transport runs on Mailbox servers.
- It has 2 services Mailbox Transport Submission service and Mailbox Transport Delivery
- It doesn’t queue the messages locally.
Mailbox Transport Delivery service:
- Receives the SMTP messages from Transport services.
- Connects to local MB database using RPC to deliver the messages.
Mailbox Transport Submission service:
- Submits the SMTP messages to Transport services.
- Connects to local MB database using RPC to retrieve the messages.
Ports which are used in the exchange server 2013 mail flow:
Port 25 – It was used for SMTP
Port 587 – It was used for Client Connections (POP\IMAP)
Port 717 – It was used for outbound proxy connections.
Port 465 – It was used to accept proxy connection that was received on port 587
Port 475 – Mailbox Transport Delivery Service listens to this port to send mails to the users.
Port 2525 – It was used when CAS and MBX servers are collocated on the same server.
Sending Email to External or Internal recipients :
Mail Transport :
Step 1: User typing and sending the message through the Outlook or OWA.
Step 2: Mailbox Transport Submission service will picks the message from the users outbox.
Step 3: Hub selector process will be initiated to select the transport service after selecting the message will be forwarded to the receive connector (SMTP 25 or 2525) in the transport service. From here the transport service will take care of the message.
Related : Important Server Port Numbers & its Uses
Transport Service :
Step 4: Transport service receives the message and place the message in the submission queue.
Step 5: Now the submission queue will handover the message to the categorize which will do the recipient (expansion and bifurcation) and routing resolution.
Step 6: After categorizing the message it will be placed in the delivery queues. here it will use the send connector to send the message through the proxy or internet.
Step 7: Message Transport Delivery service will receive the message and uses the local RPC to keep the message in the users inbox.
Note: The reverse order of the sending mail is the process of receiving mail.
Message Bifurcation :
- It runs on the Mailbox server in transport service.
- After bifurcation message was sent through SMTP to Message Transport Delivery Service in port 475.
Thanks to Richard