[This is preliminary documentation and subject to change.]
The SMTP service is comprised of the following core components:
MailMsg Object -Message content and associated transport envelope properties are stored in a MailMsg COM object. A reference to each MailMsg object is passed to the various components, each of which then performs some operation, such as message assembly, categorization, routing, and local delivery or relay. The backing storage for each MailMsg object is provided by a store driver.
SMTP Protocol Service - Provides handling for SMTP protocol commands over TCP/IP sockets, including those initiated by a remote client and those initiated by the service itself.
Store Driver -Provides backing store for MailMsg objects passing through the service, and handles the deliver of local messages.
Advanced Queue- Provides the queue management and logic for message delivery, routing, and relay.
Categorizer -Provides categorization services for inbound messages, such as distribution list expansion using the LDAP and Active Directory.
Router- Provides routing logic for outbound message relay, such as the "next hop" to which the message should be relayed.