The Exchange Server 2019 mailbox server role includes multiple services and components that interact with each other and provides different messaging features. These services and component’s include client access services, transport services, and mailbox databases. In other words, everything runs on mailbox server except the components of edge transport server role which runs in DMZ.
The following diagram shows the services and components that run on mailbox server role in of the Exchange Server 2019 and how they interact with each another:
Mailbox databases
Mailbox databases store user mailboxes and public folders. Mailbox databases also store data indexes that are used for searching the mailbox and public folder content. Exchange Server Standard Edition can host up to 5 databases and Exchange Server Enterprise Edition can host up to 100 databases.
Mailbox databases should be configured for high availability to ensure resiliency. To do this, Mailbox servers high availability solution, Database availability groups (DAG) is configured which groups multiple Mailbox servers as member of DAG. Mailbox server in DAG can be located across geographic locations (Multiple sites) for resiliency purpose. We can add up to 16 Mailbox servers in a DAG. DAGs provide automated recovery of Exchange environment in the event of a database, server, or network failure.
A Mailbox database can be replicated to multiple databases copies (up to 16) located on different Mailbox servers across multiple locations. Each server can have maximum of 100 database copies. This ensures the mailbox databases to be available asap (roughly 33% faster in Exchange 2019) in the event of mailbox server or site level failures.
The content in mailbox databases is accessed by multiple services. For example, user launches the outlook to check his emails. The connection from Outlook is established to the client access services that authenticate the user and proxy’s the request to the backend. The IIS backend service connects to the mailbox database, renders the data, and returns the data to the user. If an email is sent to the user, the Mailbox Transport Delivery service connects to the database with the RPC protocol and delivers the email to the users mailbox.
Clients do not connect to the backend services or to the databases directly.
Client access services
All messaging clients such as Outlook, Outlook on the Web, or mobile devices connect to client access services when accessing an Exchange Server mailbox. The main protocol used by these clients is HTTPS. Exchange Server also supports POP3, IMAP4 and SMTP client protocols.
When a client initiates a connection, the client access services on mailbox server authenticates the user, and then performs proxying to the backend services on the Mailbox server that hosts the active database copy containing the mailbox of that user.
For example, if a user A connect’s with Outlook on server MBOX-01, and if user’s mailbox is stored on database MDB-01 which is active on server MBOX-03 currently, the client access services on server MBOX-01 will authenticate the user and then proxy the user’s request to the backend services on server MBOX-03.
Message Transport services
Message Transport services perform mail routing within the organisation as well as between an organisation and the Internet.
Transport services have three components:
- Front End Transport service on Mailbox servers.
- Acts as a stateless proxy for all inbound and (optionally) outbound external SMTP traffic for an Exchange Server organisation.
- Transport service on Mailbox servers.
- Handles all SMTP mail flow for the organisation, performs message categorisation, and performs message content inspection.
- Mailbox Transport service on Mailbox servers.
- This service consists of two separate services:
- Mailbox Transport Submission service
- This service connects to the local mailbox database using RPC to retrieve the messages and submit the messages to the delivery queue database over SMTP to the Transport service on the local Mailbox server or on other Mailbox servers.
- Mailbox Transport Delivery service
- This service receives SMTP messages from the Transport service on the local Mailbox server or on other Mailbox servers and connects to the local mailbox database using RPC to deliver the messages.
- Mailbox Transport Submission service
- This service consists of two separate services: