Figure 15–1 presents in pictorial form the following discussion of message processing in a two-tier deployment scenario without LMTP.
Without LMTP, in a two level deployment with relays in front of the store systems, the processing of an inbound message begins with a connection on the SMTP port picked up by the dispatcher on the relay machine and handed off to a tcp_smtp_server process. This process does a number of things with the inbound message including:
Looking up the user in the directory
Determining if the user is within a domain hosted by this email deployment
Determining if the user is a valid user in the domain
Rewriting the envelope address as @mailhost:user@domain
Enqueuing the message for delivery to the mailhost
The smtp_client process then picks up the mail message from the queue and sends it to the mailhost. On the mailhost, some very similar processing takes place. A connection on the SMTP port is picked up by the dispatcher and handed off to a tcp_smtp_server process. This process does a number of things to the message, including:
Looking up the user in the directory
Determining if the user is within a domain hosted by this email deployment
Determining if the user is a valid user in the domain
Rewriting the envelope address to direct the message to the ims_ms channel
Enqueuing the message for delivery to the store
Then the ims_ms process picks up the mail message and attempts to deliver it to the store. In this scenario, the enqueuing processing is performed twice, and the MTAs each perform an LDAP lookup.