3.1 From Message Object to .msg File

The structure of a Message object in the .msg File Format that has two Attachment objects and two Recipient objects is represented in figure 1. In the figures, the folder icons represent storages, and the text page icons represent streams. Note that the streams  present depend on the properties that are set on the Message object.

A sample message in the .msg File Format

Figure 1: A sample message in the .msg File Format

A few things to note:

  • "__nameid_version1.0" is the named property mapping storage that contains all named property mappings for the Message object and its subobjects.

  • "__properties_version1.0" is the property stream.

  • "__recip_version1.0_#00000000" and "__recip_version1.0_#00000001" are Recipient object storages, each representing one Recipient object of the Message object.

  • "__attach_version1.0_#00000000" and "__attach_version1.0_#00000001" are Attachment object storages, each representing one Attachment object in the Message object.

An expanded view of the "__nameid_version1.0" named property mapping storage is shown in the following figure.

Expanded view of the named property mapping storage

Figure 2: Expanded view of the named property mapping storage

In the preceding figure, the "__nameid_version1.0" named property mapping storage contains the three streams  used to provide a mapping from property ID to property name ("__substg1.0_00020102", "__substg1.0_00030102", and "__substg1.0_00040102") and various other streams  that provide a mapping from property names to property IDs.

An expanded view of the "__recip_version1.0_#00000000" and "__recip_version1.0_#00000001" Recipient object storages and the "__attach_version1.0_#00000000" and "__attach_version1.0_#00000001" Attachment object storages is shown in the following figure.

Expanded view of Attachment object storages and Recipient object storages

Figure 3: Expanded view of Attachment object storages and Recipient object storages

In the preceding figure, each of the Attachment object storages and Recipient object storages contain the property stream and a stream  for each variable length property. One of the Attachment objects is itself a Message object, and it has a substorage called "__substg1.0_3701000D" where properties pertaining to that Message object are stored. The Embedded Message object storage contains a Recipient object storage and six Attachment object storages.

Show: