MIME Fromat 설명
출처: http://www.ehow.com/how_2041574_decode-email-mime-format.html
How to Decode an Email in MIME Format
Most emails sent today are MIME (Multipupose Internet Mail Extensions) formatted. This allows emails to be sent with plain text and rich text/HTML versions, inline images, and attachments. MIME extensions can be added to a message in standard RFC/822 format so backward compatibility is achieved with older mail systems.
Instructions
Step1
Load the contents of the email message
Step2
Check the "Content-Type" header. If the content type is multipart (i.e. "multipart/mixed", "multipart/alternative", etc) the message will have multiple sections to parse. If the content type is multipart, continue with below steps.
The Content-Type header should contain a unique string used by the code that generated the MIME message to designate MIME part boundaries. Example:
Content-Type: multipart/mixed; |
The boundary string in this case is "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
Each MIME part will be separated by the boundary string preceeded by two dashes ("--") on a blank line. You will need to scan the message line by line looking for the part boundaries. All text in between the boundaries *except the final CR/LF* is part of that MIME part.
Important: The last MIME part will end with the boundary string followed by two more dashes.
Example:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 |
Step5
Each MIME part then needs to be parsed. The format of each MIME part is similar to the original RFC/822 formatted message. It will contain a series of headers, followed by a blank line, then the body data.
Step6
A MIME part can itself be multipart, with its own "Content-Type" header and boundary string. Your code must recursively parse MIME parts until it reaches the child nodes.
A MIME part can simply be a binary attachment. In this case a Filename header will usually be supplied, along with the transfer encoding. BASE64 is a popular encoding type. In this case the entire MIME part body must be BASE64 decoded. As an example here are the first few lines of an attached JPG image:
------_=_NextPart_003_01C755EF.43F2628D |
The HTML body of the message should be in a MIME section with ContentType: Text/Html, inside a ContentType: Multipart/Alternative MIME section.
Step9
The plaintext body of the message should be in a MIME section with ContentType: Text/plain, inside a ContentType: Multipart/Alternative MIME section.