Sending Messages: MAPI Spooler Tasks

Applies to: Outlook 2013 | Outlook 2016

The MAPI spooler is involved in the message transmission process when the message store is not tightly coupled with a transport provider, when the tightly coupled store and transport cannot handle a recipient, and when the message requires preprocessing.

After any necessary preprocessing, the MAPI spooler performs the following steps:

  1. If the message is not locked, locks the message by using the IMsgStore::SetLockState method.

  2. Has the transport provider send the message to all recipients that have their PR_RESPONSIBILITY (PidTagResponsibility) property set to FALSE.

  3. Calls the appropriate function (RemovePreprocessInfo) for cleaning up any additional information that was added to the message for use during preprocessing if the PR_PREPROCESS (PidTagPreprocess) property has been set. This function is specified when the transport provider registers its preprocessor function.

  4. Calls IMsgStore::FinishedMsg method. In FinishedMsg, the message store provider:

  • Unlocks the message.

  • Calls the IMAPISupport::DoSentMail method to perform outbound hook processing if a messaging hook provider exists. It then copies the message to the folder identified by the entry identifier in the PR_SENTMAIL_ENTRYID (PidTagSentMailEntryId) property, if not superseded by a messaging hook provider's sent message processing. Finally, it deletes the message if the PR_DELETE_AFTER_SUBMIT (PidTagDeleteAfterSubmit) property has been set to TRUE.