2.4 Unconverted MIME Part Analysis Algorithm Details

The scenario in which a server receives a pure MIME message using a MIME protocol (such as SMTP), and then must send it as a pure MIME message using a different MIME protocol (such as POP3 or IMAP4) requires special functionality. The following diagram describes this process of "round-tripping".

SMTP => MIME reader => storage => MIME writer => POP3 or IMAP4

A fixed number of the headers allowed in a valid MIME message are mapped to properties of a Message object, as specified in section 2.2. The rest are saved in their raw, unconverted format to facilitate round-tripping<200>. The structure used in this algorithm for preserving unconverted MIME headers is the PidTagMimeSkeleton property ([MS-OXCMSG] section 2.2.1.28), as specified in section 2.4.1, which is generated by the MIME reader during the MIME analysis process.<201>

After the MIME reader converts the MIME message to a Message object, as specified in section 2.2, the reader copies the structure of the MIME message plus the contents of any message parts that are not converted into the PidTagMimeSkeleton property on the Message object.