Share via


2.2.3.4.1.5 Attachment Content-Transfer-Encoding and MIME Part Body

As specified in [RFC2045], a Content-Transfer-Encoding header might be present on the attachment MIME part. MIME readers SHOULD support the following values for this header:

  • Base64. See [RFC2045]

  • Quoted-printable. See [RFC2045]

  • 7bit. See [RFC2045]

  • 8bit. See [RFC3516]

  • Binary. See [RFC3030]

  • Mac-binhex40

  • X-uuencode

  • X-uue

As specified in [RFC2045], if the Content-Transfer-Encoding header is missing, MIME readers MUST behave as if it were set to "7bit".

The attachment's content SHOULD be decoded by using the appropriate decoding procedure and saved as the value of the PidTagAttachDataBinary property ([MS-OXCMSG] section 2.2.2.7). MIME readers SHOULD, as a rule, use the RopOpenStream ROP ([MS-OXCROPS] section 2.2.9.1) to create this property value.

The encoding values "mac-binhex40", "x-uuencode", and "x-uue" are non-standard. If a "mac-binhex40" Content-Transfer-Encoding header value is encountered, MIME readers SHOULD treat the MIME part body as if it had a Content-Type header value of "application/mac-binhex40" and process it as specified in section 2.2.3.4.2.3.

However, in the unlikely case of an actual "application/mac-binhex40" Content-Type header value, MIME readers SHOULD extract only the data fork from the MIME element content and use it as the value of the Attachment object's PidTagAttachDataBinary property. For "x-uuencode" and "x-uue" values, MIME readers SHOULD treat the attachment content as encoded with uuencode, as specified in [IEEE1003.1]. The decoded value SHOULD be written to the Attachment object's PidTagAttachDataBinary property value.