MacMIME format conversions

Macintosh files have two parts, a resource fork which contains Macintosh specific information, and a data fork which contains data  usable on other platforms. This introduces an additional complexity when transporting Macintosh files, as there are four different formats  in common use for transporting the Macintosh file parts. (See RFC 1740 (MacMIME) and RFC 1741 (Binhex).) Three of the formats, Applesingle, Binhex, and Macbinary, consist of the Macintosh resource fork and Macintosh data fork encoded together in  one piece. The fourth format, Appledouble, is a multipart format with the resource fork and data fork in separate parts. Appledouble is hence the format most likely to be useful on non-Macintosh platforms, as in  this case the resource fork part may be ignored and the data fork part  is available for use by non-Macintosh applications. But the other formats may be useful when sending specifically to Macintoshes.

The MTA can convert between these various Macintosh formats. The    keywords ,   ,  , or    tell the MTA to convert other MacMIME structured  parts to a MIME structure of  ,   ,  , or   , respectively. Further the  or    keywords also request conversion to the  specified format of non-MacMIME format parts that do nevertheless  contain X-MAC-TYPE and X-MAC-CREATOR parameters on the MIME  Content-type: header line. The  keyword    tells the MTA to extract just the data fork from MacMIME format parts,  discarding the resource fork; (since this loses information, use of    instead is generally preferable).

For instance, the following    table would tell the MTA  to convert to Appledouble format when delivering to the Message Store  via either an    channel or a    channel: CHARSET-CONVERSION IN-CHAN=&#x2a;;OUT-CHAN=ims-ms;CONVERT       Appledouble IN-CHAN=&#x2a;;OUT-CHAN=tcp_lmtpcs&#x2a;;CONVERT  Appledouble The conversion to Appledouble format would only be applied to parts already in one of the MacMIME formats.

When doing conversion to Appledouble or Block format, the    mapping table may be used to indicate what  specific MIME label to put on the data fork of the Appledouble part, or  the Block part, depending on what the Macintosh creator and Macintosh  type information in the original Macintosh file were.

See also:
 * MAC-TO-MIME-CONTENT-TYPES mapping table
 * Message reformatting
 * CHARSET-CONVERSION mapping table