Extended Messaging Application Programming Interface (MAPI) should not be used to generate HTML-formatted messages. As an alternative, consider using the Microsoft Outlook Object Model, CDONTS, CDOSYS, CDOEX, or a third-party SMTP control.
MAPI 1.0 was written before HTML mail was developed and does not reliably support the creation of HTML-formatted messages. MAPI 1.0 is the version supported by all versions of Microsoft Exchange through version 5.5 (and all Service Packs). This includes the following subordinate technologies:
- Simple MAPI
- Extended MAPI
- OLE Messaging
- Active Messaging (Collaboration Data Objects (CDO) 1.1)
- CDO versions 1.2 and 1.21
- MAPI controls (Msmapi32.ocx)
- CDO for Windows 2000 (CDOSYS)
- CDO for Exchange 2000 (CDOEX)
- Outlook Object Model of Microsoft Outlook 98 or later
- SMTP-capable ActiveX controls obtained from third-party vendors
How Outlook Generates MAPI-based HTML MailThe interfaces that Outlook uses to generate and work with HTML-formatted mail are not exposed externally except for what is exposed through the HTMLBody property. Outlook stores the HTML data as a specially encoded RTF stream in the MAPI property PR_RTF_COMPRESSED. There are no public interfaces for generating, reading, or manipulating this complex stream as HTML data. PR_BODY contains the plain text translation of the message body.
What About PR_BODY_HTML?According to the documentation on PR_BODY_HTML, this property is only supported by a message store if the store returns STORE_HTML_OK in the PR_STORE_SUPPORT_MASK property. No Microsoft message store supports this flag. Some third-party store providers may choose to support this flag and property.
For additional information about MAPI technologies, click the article number below to view the article in the Microsoft Knowledge Base:
200018 INFO: Differences Between CDO, Simple MAPI, and Extended MAPI