Sending Messages: Transport Provider Tasks
Last modified: January 16, 2009
Applies to: Office 2010 | Outlook 2010 | Visual Studio
To transmit a message, transport providers
Set the message's PR_RESPONSIBILITY (PidTagResponsibility) property to TRUE after the transport provider has either sent the message or attempted to send the message. If an attempt to send a message fails, transport providers should call IMAPISupport::StatusRecips to generate a nondelivery report. If the message is sent successfully and the PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED (PidTagOriginatorDeliveryReportRequested) property is set to TRUE, create an ADRLIST structure containing the successful recipients, setting the PR_DELIVER_TIME (PidTagDeliverTime) property for each, and call StatusRecips to generate a delivery report. For more information about creating delivery and non-delivery reports, see the following topics: MAPI Report Messages, Required Report Message Properties, Optional Report Message Properties, and Sending Message Delivery Reports.
Set the message's PR_SENDER group of properties to the identity of the user that has logged on. This group includes: PR_SENDER_ENTRYID (PidTagSenderEntryId), PR_SENDER_NAME (PidTagSenderName), PR_SENDER_SEARCH_KEY (PidTagSenderSearchKey), PR_SENDER_ADDRTYPE (PidTagSenderAddressType), and PR_SENDER_EMAIL_ADDRESS (PidTagSenderEmailAddress).
Set the message's PR_SENT_REPRESENTING properties, if possible, to either the identity of the user that has logged on or to a valid delegate identity. The PR_SENT_REPRESENTING properties are used to implement the sending of messages by one user on behalf of another user. Transport providers that do not support these properties should ignore them on outbound messages.
Set the message's PR_PROVIDER_SUBMIT_TIME (PidTagProviderSubmitTime) property to indicate the date and time that the message store provider marked the message as having been sent.
When a message is sent to a variety of recipients with several messaging systems, each transmitted copy will have a different sender identity.
The transport provider or tightly coupled message store and transport is also responsible for setting originator and reply-to information. Originator information is stored in the PR_ORIGINATOR properties and reply-to information is stored in the PR_REPLY properties. The client can set these properties; however, the transport provider is allowed to ignore and overwrite the client's settings.