The text of a message is stored either in its PR_BODY property or PR_RTF_COMPRESSED property. If you support the Rich Text Format (RTF), open PR_RTF_COMPRESSED. If you do not support RTF, open PR_BODY. Because the text of a message can be large regardless of whether or not it is formatted, use IMAPIProp::OpenProperty to open these properties.
To display formatted message text
If you are using a non-RTF aware message store, as indicated by the absence of the STORE_RTF_OK flag in the store's PR_STORE_SUPPORT_MASK property:
Call RTFSync to synchronize the message's PR_BODY property with the PR_RTF_COMPRESSED property. Pass the RTF_SYNC_BODY_CHANGED flag if the call to retrieve PR_RTF_IN_SYNC failed because the property does not exist or it is set to FALSE.
If RTFSync returned TRUE — indicating that changes were made — call the message'sIMAPIProp::SaveChanges method to permanently store them.
Regardless of whether or not you are using an RTF-aware message store:
If GetProps returns either PT_ERROR for the property type in the property value structure or MAPI_E_NOT_ENOUGH_MEMORY, call the message's IMAPIProp::OpenProperty method. Pass PR_BODY as the property tag and IID_IStream as the interface identifier.
Copy the plain text from the stream to the appropriate place in the message form.