Thursday, December 17, 2009

Multipurpose Internet Mail Extensions

GxTechno Tags: , , ,

MIME (Multipurpose Internet Mail Extensions) is an Internet standard for describes message content types.

MIME is a standard for describing different types of information This was originally meant to be used to specify encoding for different types of information into text. This made it possible to send them as e-mail.

The standard MIME is also used in other types of communication where there is a need for specifying which type of information is used. This could be your local operating system or a web server.

MIME defines mechanisms for sending other kinds of information in e-mail. These include text in languages other than English using character encodings other than ASCII, and 8-bit binary content such as files containing images, sounds, movies, 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 might not (and usually doesn't) actually have anything to do with e-mail. Mapping messages into and out of MIME format is typically done automatically by an e-mail client or by mail servers when sending or receiving Internet (SMTP/MIME) e-mail.

How do I read MIME in my mail?

Mime is just a specification. Normally the information is encoded with some other standard format. When decoded it regains it original shape.

To be able to read the file you need an application that can handle the attached file. If two files, a word document and a image is sent by email they would both get encoded as mime. Upon receiving these files there need to be an application associated with each file type. Microsoft word or maybe another word processor would be associated with the word document making it possible to read the file. Photoshop or another image viewer would be associated with the image.

Normally the conversion from MIME to files is handled by the e-mail application. When the file is stored on disk it is up to the operating system to map an application to file type.

MIME messages can contain text, images, audio, video, and other application-specific data.

Official MIME info is provided by the Internet Engineering Task Force (IETF) in the following documents:

  • RFC-822   Standard for ARPA Internet text messages
  • RFC-2045 MIME Part 1: Format of Internet Message Bodies
  • RFC-2046 MIME Part 2: Media Types
  • RFC-2047 MIME Part 3: Header Extensions for Non-ASCII Text
  • RFC-2048 MIME Part 4: Registration Procedures
  • RFC-2049 MIME Part 5: Conformance Criteria and Examples

Different applications support different MIME types.

The reference below is a list of MIME types supported by Microsoft Internet Information Server version 5.


MIME Types

MIME Types (Application):

Type/sub-type

Extension

application/envoy

evy

application/fractals

fif

application/futuresplash

spl

application/hta

hta

application/internet-property-stream

acx

application/mac-binhex40

hqx

application/msword

doc

application/msword

dot

application/octet-stream

*

application/octet-stream

bin

application/octet-stream

class

application/octet-stream

dms

application/octet-stream

exe

application/octet-stream

lha

application/octet-stream

lzh

application/oda

oda

application/olescript

axs

application/pdf

pdf

application/pics-rules

prf

application/pkcs10

p10

application/pkix-crl

crl

application/postscript

ai

application/postscript

eps

application/postscript

ps

application/rtf

rtf

application/set-payment-initiation

setpay

application/set-registration-initiation

setreg

application/vnd.ms-excel

xla

application/vnd.ms-excel

xlc

application/vnd.ms-excel

xlm

application/vnd.ms-excel

xls

application/vnd.ms-excel

xlt

application/vnd.ms-excel

xlw

application/vnd.ms-outlook

msg

application/vnd.ms-pkicertstore

sst

application/vnd.ms-pkiseccat

cat

application/vnd.ms-pkistl

stl

application/vnd.ms-powerpoint

pot

application/vnd.ms-powerpoint

pps

application/vnd.ms-powerpoint

ppt

application/vnd.ms-project

mpp

application/vnd.ms-works

wcm

application/vnd.ms-works

wdb

application/vnd.ms-works

wks

application/vnd.ms-works

wps

application/winhlp

hlp

application/x-bcpio

bcpio

application/x-cdf

cdf

application/x-compress

z

application/x-compressed

tgz

application/x-cpio

cpio

application/x-csh

csh

application/x-director

dcr

application/x-director

dir

application/x-director

dxr

application/x-dvi

dvi

application/x-gtar

gtar

application/x-gzip

gz

application/x-hdf

hdf

application/x-internet-signup

ins

application/x-internet-signup

isp

application/x-iphone

iii

application/x-javascript

js

application/x-latex

latex

application/x-msaccess

mdb

application/x-mscardfile

crd

application/x-msclip

clp

application/x-msdownload

dll

application/x-msmediaview

m13

application/x-msmediaview

m14

application/x-msmediaview

mvb

application/x-msmetafile

wmf

application/x-msmoney

mny

application/x-mspublisher

pub

application/x-msschedule

scd

application/x-msterminal

trm

application/x-mswrite

wri

application/x-netcdf

cdf

application/x-netcdf

nc

application/x-perfmon

pma

application/x-perfmon

pmc

application/x-perfmon

pml

application/x-perfmon

pmr

application/x-perfmon

pmw

application/x-pkcs12

p12

application/x-pkcs12

pfx

application/x-pkcs7-certificates

p7b

application/x-pkcs7-certificates

spc

application/x-pkcs7-certreqresp

p7r

application/x-pkcs7-mime

p7c

application/x-pkcs7-mime

p7m

application/x-pkcs7-signature

p7s

application/x-sh

sh

application/x-shar

shar

application/x-shockwave-flash

swf

application/x-stuffit

sit

application/x-sv4cpio

sv4cpio

application/x-sv4crc

sv4crc

application/x-tar

tar

application/x-tcl

tcl

application/x-tex

tex

application/x-texinfo

texi

application/x-texinfo

texinfo

application/x-troff

roff

application/x-troff

t

application/x-troff

tr

application/x-troff-man

man

application/x-troff-me

me

application/x-troff-ms

ms

application/x-ustar

ustar

application/x-wais-source

src

application/x-x509-ca-cert

cer

application/x-x509-ca-cert

crt

application/x-x509-ca-cert

der

application/ynd.ms-pkipko

pko

application/zip

zip

MIME Types (Audio):

Type/sub-type

Extension

audio/basic

au

audio/basic

snd

audio/mid

mid

audio/mid

rmi

audio/mpeg

mp3

audio/x-aiff

aif

audio/x-aiff

aifc

audio/x-aiff

aiff

audio/x-mpegurl

m3u

audio/x-pn-realaudio

ra

audio/x-pn-realaudio

ram

audio/x-wav

wav

MIME Types (Image):

Type/sub-type

Extension

image/bmp

bmp

image/cis-cod

cod

image/gif

gif

image/ief

ief

image/jpeg

jpe

image/jpeg

jpeg

image/jpeg

jpg

image/pipeg

jfif

image/svg+xml

svg

image/tiff

tif

image/tiff

tiff

image/x-cmu-raster

ras

image/x-cmx

cmx

image/x-icon

ico

image/x-portable-anymap

pnm

image/x-portable-bitmap

pbm

image/x-portable-graymap

pgm

image/x-portable-pixmap

ppm

image/x-rgb

rgb

image/x-xbitmap

xbm

image/x-xpixmap

xpm

image/x-xwindowdump

xwd

MIME Types (Message):

Type/sub-type

Extension

message/rfc822

mht

message/rfc822

mhtml

message/rfc822

nws

MIME Types (Text):

Type/sub-type

Extension

text/css

css

text/h323

323

text/html

htm

text/html

html

text/html

stm

text/iuls

uls

text/plain

bas

text/plain

c

text/plain

h

text/plain

txt

text/richtext

rtx

text/scriptlet

sct

text/tab-separated-values

tsv

text/webviewhtml

htt

text/x-component

htc

text/x-setext

etx

text/x-vcard

vcf

MIME Types (Video):

Type/sub-type

Extension

video/mpeg

mp2

video/mpeg

mpa

video/mpeg

mpe

video/mpeg

mpeg

video/mpeg

mpg

video/mpeg

mpv2

video/quicktime

mov

video/quicktime

qt

video/x-la-asf

lsf

video/x-la-asf

lsx

video/x-ms-asf

asf

video/x-ms-asf

asr

video/x-ms-asf

asx

video/x-msvideo

avi

video/x-sgi-movie

movie

MIME Types (Video):

Type/sub-type

Extension

x-world/x-vrml

flr

x-world/x-vrml

vrml

x-world/x-vrml

wrl

x-world/x-vrml

wrz

x-world/x-vrml

xaf

x-world/x-vrml

xof


Mime Types By File Extension

Extension

Type/sub-type

 

application/octet-stream

323

text/h323

acx

application/internet-property-stream

ai

application/postscript

aif

audio/x-aiff

aifc

audio/x-aiff

aiff

audio/x-aiff

asf

video/x-ms-asf

asr

video/x-ms-asf

asx

video/x-ms-asf

au

audio/basic

avi

video/x-msvideo

axs

application/olescript

bas

text/plain

bcpio

application/x-bcpio

bin

application/octet-stream

bmp

image/bmp

c

text/plain

cat

application/vnd.ms-pkiseccat

cdf

application/x-cdf

cer

application/x-x509-ca-cert

class

application/octet-stream

clp

application/x-msclip

cmx

image/x-cmx

cod

image/cis-cod

cpio

application/x-cpio

crd

application/x-mscardfile

crl

application/pkix-crl

crt

application/x-x509-ca-cert

csh

application/x-csh

css

text/css

dcr

application/x-director

der

application/x-x509-ca-cert

dir

application/x-director

dll

application/x-msdownload

dms

application/octet-stream

doc

application/msword

dot

application/msword

dvi

application/x-dvi

dxr

application/x-director

eps

application/postscript

etx

text/x-setext

evy

application/envoy

exe

application/octet-stream

fif

application/fractals

flr

x-world/x-vrml

gif

image/gif

gtar

application/x-gtar

gz

application/x-gzip

h

text/plain

hdf

application/x-hdf

hlp

application/winhlp

hqx

application/mac-binhex40

hta

application/hta

htc

text/x-component

htm

text/html

html

text/html

htt

text/webviewhtml

ico

image/x-icon

ief

image/ief

iii

application/x-iphone

ins

application/x-internet-signup

isp

application/x-internet-signup

jfif

image/pipeg

jpe

image/jpeg

jpeg

image/jpeg

jpg

image/jpeg

js

application/x-javascript

latex

application/x-latex

lha

application/octet-stream

lsf

video/x-la-asf

lsx

video/x-la-asf

lzh

application/octet-stream

m13

application/x-msmediaview

m14

application/x-msmediaview

m3u

audio/x-mpegurl

man

application/x-troff-man

mdb

application/x-msaccess

me

application/x-troff-me

mht

message/rfc822

mhtml

message/rfc822

mid

audio/mid

mny

application/x-msmoney

mov

video/quicktime

movie

video/x-sgi-movie

mp2

video/mpeg

mp3

audio/mpeg

mpa

video/mpeg

mpe

video/mpeg

mpeg

video/mpeg

mpg

video/mpeg

mpp

application/vnd.ms-project

mpv2

video/mpeg

ms

application/x-troff-ms

mvb

application/x-msmediaview

nws

message/rfc822

oda

application/oda

p10

application/pkcs10

p12

application/x-pkcs12

p7b

application/x-pkcs7-certificates

p7c

application/x-pkcs7-mime

p7m

application/x-pkcs7-mime

p7r

application/x-pkcs7-certreqresp

p7s

application/x-pkcs7-signature

pbm

image/x-portable-bitmap

pdf

application/pdf

pfx

application/x-pkcs12

pgm

image/x-portable-graymap

pko

application/ynd.ms-pkipko

pma

application/x-perfmon

pmc

application/x-perfmon

pml

application/x-perfmon

pmr

application/x-perfmon

pmw

application/x-perfmon

pnm

image/x-portable-anymap

pot,

application/vnd.ms-powerpoint

ppm

image/x-portable-pixmap

pps

application/vnd.ms-powerpoint

ppt

application/vnd.ms-powerpoint

prf

application/pics-rules

ps

application/postscript

pub

application/x-mspublisher

qt

video/quicktime

ra

audio/x-pn-realaudio

ram

audio/x-pn-realaudio

ras

image/x-cmu-raster

rgb

image/x-rgb

rmi

audio/mid

roff

application/x-troff

rtf

application/rtf

rtx

text/richtext

scd

application/x-msschedule

sct

text/scriptlet

setpay

application/set-payment-initiation

setreg

application/set-registration-initiation

sh

application/x-sh

shar

application/x-shar

sit

application/x-stuffit

snd

audio/basic

spc

application/x-pkcs7-certificates

spl

application/futuresplash

src

application/x-wais-source

sst

application/vnd.ms-pkicertstore

stl

application/vnd.ms-pkistl

stm

text/html

svg

image/svg+xml

sv4cpio

application/x-sv4cpio

sv4crc

application/x-sv4crc

swf

application/x-shockwave-flash

t

application/x-troff

tar

application/x-tar

tcl

application/x-tcl

tex

application/x-tex

texi

application/x-texinfo

texinfo

application/x-texinfo

tgz

application/x-compressed

tif

image/tiff

tiff

image/tiff

tr

application/x-troff

trm

application/x-msterminal

tsv

text/tab-separated-values

txt

text/plain

uls

text/iuls

ustar

application/x-ustar

vcf

text/x-vcard

vrml

x-world/x-vrml

wav

audio/x-wav

wcm

application/vnd.ms-works

wdb

application/vnd.ms-works

wks

application/vnd.ms-works

wmf

application/x-msmetafile

wps

application/vnd.ms-works

wri

application/x-mswrite

wrl

x-world/x-vrml

wrz

x-world/x-vrml

xaf

x-world/x-vrml

xbm

image/x-xbitmap

xla

application/vnd.ms-excel

xlc

application/vnd.ms-excel

xlm

application/vnd.ms-excel

xls

application/vnd.ms-excel

xlt

application/vnd.ms-excel

xlw

application/vnd.ms-excel

xof

x-world/x-vrml

xpm

image/x-xpixmap

xwd

image/x-xwindowdump

z

application/x-compress

zip

application/zip

MIME Technical Summary

MIME is defined by an Internet standard document called RFC1521. This document summarizes the contents of RFC1521. Sufficient detail is presented here to understand the capabilities of MIME. For sufficient detail to implement MIME please read RFC1521.

MIME allows messages to contain multiple objects. When multiple objects are in a MIME message, they are represented in a form called a body part. A body part has a header and a body, so it makes sense to speak about the body of a body part. Also, body parts can be nested in bodies that contain one or multiple body parts.

The Content-Type values, subtypes, and parameter names defined in the MIME standard are case-insensitive. However, many parameter values are case sensitive

The MIME standard is written to allow MIME to be extended in certain ways, without having to revise the standard. MIME specifies sets of values that are allowed for various fields and parameters. The provides a procedure for extending these sets of values by registering them with an entity called the Internet Assigned Numbers Authority (IANA).

No comments:

Post a Comment

Search This Blog