Platform SDK: SMTP Server Events

Message Processing Flow

[This is preliminary documentation and subject to change.]

The SMTP service essentially performs the following functions:

  1. Accept messages from clients for transfer and delivery to one or more recipients over a TCP/IP network. This is handled by the SMTP protocol service.
  2. Determine whether any recipients designed for the message have local "mailboxes," and if so, deliver the message to each recipient's mailbox. This is handled by the transport and Advanced Queue using the default categorizer or a categorizer event sink (described later).
  3. If a recipient or recipients do not have local mailboxes, place the message in an internal first-in-first-out queue for relay to an appropriate messaging service or gateway, such as another SMTP service on the network. This is handled by the Advanced Queue and the default router, or a router event sink (described later).
  4. For each message in the queue, relay it to the appropriate service so that the message is eventually delivered to the appropriate recipients. This is handled by the protocol service.

The following diagram depicts the flow of a message through the various service components: