MIME refers to an official Internet standard that specifies how messages must be formatted so that they can be exchanged between different email systems. MIME permits any type of file or document in an email message. MIME will probably emerge as the industry standard
Simple Mail Transfer Protocol (SMTP, RFC 822)
SMTP Limitations - Can not transmit, or has a problem with: executable files, or other binary files (jpeg image) national language characters (non-ASCII) messages over a certain size ASCII to EBCDIC (Extended Binary Coded Decimal Interchange Code ) translation problems lines longer than a certain length (72 to 254 characters) Header fields in MIME MIME-Version: Must be 1.0 -> RFC 2045, RFC 2046 Content-Type: More types being added by developers (application/word) Content-Transfer-Encoding: How message has been encoded (radix-64) Content-ID: Unique identifying character string. Content Description: Needed when content is not readable text (e.g.,mpeg) Content-ID and Content Description: optional MIME Headers Multipurpose Internet Mail Extensions (MIME) RFC 1341 and RFC 1521 MIME -Version: version number Content-Description: human-readable string Content-ID: unique identifier Content-Transfer-Encoding: body encoding > ASCII (Plain, quoted-printable, or Richtext) > Binary (base64) Content-Type: nature of the message > Image (gif, jpeg), Video (mpeg), > Application (Postscript, octet-stream)
MIME Content Type Text: Plain(a string of ASCII characters), Enriched(ISO8859 characters) Image: jpeg, gif Video: mpeg Audio: Basic Application: Postscript, octet-stream other kinds of data: uninterpreted binary data or information by a mail-based application MIME Transfer Encodings The objective: to provide reliable delivery across the largest range of environments 7bit: ASCII characters 8bit: non-ASCII characters binary: quoted-printable: data consist largely of octets that correspond to printable ASCII characters base64: radix-64 (6bits-> 8bits) x-token: A named nonstandard encoding
Common Mime Types: FileExtension MIME Type Description .txt text/plain Plain text .htm text/html Styled text in HTML format .jpg image/jpeg Picture in JPEG format .gif image/gif Picture in GIF format .wav audio/x-wave Sound in WAVE format .mp3 audio/mpeg Music in MP3 format .mpg video/mpeg Video in MPEG format .zip application/zip Compressed file in PK- ZIP format MIME Functions Enveloped Data: Encrypted content and encrypted session keys for recipients. Signed Data: Message Digest encrypted with private key of signer. Clear-Signed Data: Signed but not encrypted. Signed and Enveloped Data: Various orderings for encrypting and signing.
Algorithms Used Message Digesting: support SHA-1 and MD5 should use SHA-1 Digital Signatures: must support DSS should support RSA encryption Secret-Key Encryption: should support encryption with Triple-DES, RC2/40 (exportable) Public-Private Key Encryption: should support RSA with key sizes of 512 and 1024 bits must support Diffie-Hellman (for session keys)