Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
9 user(s) are online (9 user(s) are browsing encyclopedia)

Members: 0
Guests: 9

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

MIME

Multipurpose Internet Mail Extensions (MIME) is an Internet Standard for the format of E-mail. Virtually all Internet e-mail is transmitted via Simple Mail Transfer Protocol in MIME format. Internet e-mail is so closely associated with the SMTP and MIME standards that it is sometimes called SMTP/MIME e-mail.

= Introduction =

The basic Internet e-mail transmission protocol, SMTP, supports only 7-bit ASCII characters (see also 8BITMIME). This effectively limits Internet e-mail to messages which, when transmitted , include only the characters used for the English language. MIME defines mechanisms for sending other kinds of information in e-mail, including text in languages other than English using character encodings other than ASCII as well as 8-bit binary content such as files containing images, Sounds, films, and computer programs. MIME is also a fundamental component of communication protocols such as HTTP, which requires that data be transmitted in the context of e-mail-like messages, even though the data may not actually be e-mail.

Mapping messages into and out of MIME format is typically done automatically by an email client or by proprietary mail transfer agents when sending or receiving Internet (SMTP/MIME) e-mail.

The basic format of Internet e-mail is defined in and body and rules pertaining to commonly used header fields such as To: , Subject: , From: , and Date: . MIME defines a collection of e-mail headers for specifying additional attributes of a message including content type , and defines a set of transfer encodings which can be used to represent 8-bit binary data using characters from the 7-bit ASCII character set. MIME also specifies rules for encoding non-ASCII characters in e-mail message headers, such as Subject: , allowing these header fields to contain non-English characters.

MIME is extensible. Its definition includes a method to register new content types and other MIME attribute values.

One of the explicit goals of the MIME definition was to not require changes to pre-existing e-mail servers or clients. This goal is achieved by allowing all MIME message attributes to be optional, with default values making a non-MIME message likely to be interpreted correctly by a MIME-capable client. In addition, a simple MIME text message is likely to be interpreted correctly by a non-MIME client although it has e-mail headers the non-MIME client won t know how to interpret.

= MIME headers =

== MIME-Version ==

The presence of this header indicates the message is MIME-formatted. The value is typically 1.0 so this header appears as MIME-Version: 1.0

== Content-Type ==

This header indicates the type and subtype of the message content, for example Content-type: text/plain

The combination of type and subtype is generally called a MIME type , although in modern applications, Internet media type is the favored term, indicating its applicability outside of MIME messages. A large number of file formats have registered MIME types. Any text type has an additional charset parameter that can be included to indicate the character encoding. A very large number of character encodings have registered MIME charset names.

Although originally defined for MIME e-mail, the content-type header and MIME type registry is reused in other Internet protocols such as HTTP.

Through the use of the multipart type, MIME allows messages to have parts arranged in a tree structure where the leaf nodes are any non-multipart content type and the non-leaf nodes are any of a variety of multipart types. This mechanism supports: *simple text messages using text/plain (the default value for Content-type: ) *text plus attachments ( multipart/mixed with a text/plain part and other non-text parts). A MIME message including an attached file generally indicates the file s original name with the Content-disposition: header, so the type of file is indicated both by the MIME content-type and the (usually Operating System-specific) filename extension. *reply with original attached ( multipart/mixed with a text/plain part and the original message as a message/rfc822 part) *alternative content, such as a message sent in both plain text and another format such as HTML ( multipart/alternative with the same content in text/plain and text/html forms) *many other message constructs

== Content-Transfer-Encoding ==

MIME (RFC 2045) defines a set of methods for representing binary data in ASCII text format. The content-transfer-encoding: MIME header indicates the method that has been used. The RFC and the [http://www.iana.org/assignments/transfer-encodings IANA s list] of transfer encodings define the following values, which are not case sensitive: *Suitable for use with normal SMTP: **7bit - up to 998 octets per line of the code range [1..127]{CR, LF}. This is the default value. **quoted-printable - used for text data consisting primarily of US-ASCII characters but also containing byte values outside that range. **Base64 - used for arbitrary binary data *Suitable for use with SMTP servers that support the 8BITMIME transport SMTP extension: **8bit - up to 998 octets per line ending with CR+LF; octets must be in the code range [1..255]{CR, LF}. *Not suitable for use with SMTP: **binary - any sequence of octets. Not usable with SMTP mail.

There is no encoding defined which is explicitly designed for sending arbitary binary data through 8BITMIME transports, thus base64 or quoted-printable must sometimes still be used.

= Encoded-Word =

Since RFC2822 message header names and values are always ASCII characters, values that contain non-ASCII data must use the MIME encoded-word syntax (RFC 2047) instead of a literal string. This syntax uses a string of ASCII characters indicating both the original character encoding (the charset ) and the content-transfer-encoding used to map the bytes of the charset into ASCII characters.

The form is: = charset encoding encoded text = .

  • charset is often UTF-8, but may be any character set registered with Internet Assigned Numbers Authority. ISO 2022 is common in Japan. ISO 8859 and more recently ISO 8859-15 are common in Europe.
  • encoding can be either Q denoting quoted-printable encoding, or B denoting Base64 encoding.
  • encoded text is the quoted-printable or base64-encoded text.
  • For example,

    Subject: =utf-8Q=C2=A1Hola,=20se=C3=B1or!=

    is interpreted as Subject: ¡Hola, señor! .

    The encoded-word format is not used for header names, such as Subject:. These header names are always in English in the raw message. When viewing a message with a non-English e-mail client, the header names are translated by the client.

    = Multipart Example =

    A MIME of the message, as follows:

    Content-type: multipart/mixed; boundary= frontier MIME-version: 1.0 --frontier Content-type: text/plain This is the body of the message. --frontier Content-type: application/octet-stream Content-transfer-encoding: base64 gajwO4+n2Fy4FV3V7zD9awd7uG8/TITP/vIocxXnnf/5mjgQjcipBUL1b3uyLwAVtBLOP4nV LdIAhSzlZnyLAF8na0n7g6OSeej7aqIl3NIXCfxDsPsY6NQjSvV77j4hWEjlF/aglS6ghfju FgRr+OX8QZMI1OmR4rUJUS7xgoknalqj3HJvaOpeb3CFlNI9VGZYz6H6zuQBOWZzNB8glwpC --frontier--

    = See also =

  • Direct Internet Message Encapsulation — Microsoft proposed a Technology called DIME which would have streamlined MIME for use in web services. A specification for the standard was submitted to the Internet Engineering Task Force (IETF) but, according to the IETF web site, the standard has been withdrawn and never made Request for Comments status.
  • S/MIME
  • Mailcap
  • Unicode and Email
  • = References =

    *RFC 2045 - Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies. N. Freed, Nathaniel Borenstein. November 1996. (Format: TXT=72932 bytes) (Obsoletes RFC 1521, RFC 1522, RFC 1590) (Updated by RFC 2184, RFC 2231) (Status: DRAFT STANDARD) *RFC 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types. N. Freed, Nathaniel Borenstein. November 1996. (Format: TXT=105854 bytes) (Obsoletes RFC 1521, RFC 1522, RFC 1590) (Updated by RFC 2646) (Status: DRAFT STANDARD) *RFC 2047 - MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text. K. Moore. November 1996. (Format: TXT=33262 bytes) (Obsoletes RFC 1521, RFC 1522, RFC 1590) (Updated by RFC 2184, RFC 2231) (Status: DRAFT STANDARD) *RFC 2048 - Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures. N. Freed, J. Klensin, Jon Postel. November 1996. (Format: TXT=45033 bytes) (Obsoletes RFC 1521, RFC 1522, RFC 1590) (Updated by RFC 3023) (Also BCP0013) (Status: BEST CURRENT PRACTICE) *RFC 2049 - Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples. N. Freed, N. Borenstein. November 1996. (Format: TXT=51207 bytes) (Obsoletes RFC 1521, RFC 1522, RFC 1590) (Status: DRAFT STANDARD)

    = External links =

    *[http://db.org/ Blog tracking Internet mail related drafts and standards] *[http://www.iana.org/assignments/media-types/ List of IANA registered MIME Media Types] *[http://www.iana.org/assignments/character-sets List of Character Sets]
  • http://wiki.debian.net/index.cgiMIME