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)
If messages are needed in HTML format, such as for sending text formatted in other languages, alternative technologies that provide more reliable support for HTML messages are recommended:
- CDONTS
- 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 Mail
The 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.