MIME

ITpedia

MIME (Multipurpose Internet Mail Extension) - standard ten określa sposób formatowania informacji w postać akceptowalną przez system pocztowy. Format MIME umożliwia nadawcy zawarcie w przesyłce pocztowej strumienia danych dowolnego typu - tekstu, obrazu, audio, wideo i danych specyficznych dla aplikacji.

Wiadomość SMTP składa się z nagłówka, zawierającego informacje sterujące, oraz części zawierającej treść przesyłki pocztowej. Nagłówek zawiera pewną liczbę słów kluczowych, takich jak To, From i Subject, oraz związane z nimi wartości, np. adres networld@idg.com.pl.

Wiadomość w standardzie MIME zawiera dodatkowe nagłówki:

  1. Content-Type określa typ danych zawartych w wiadomości,
  2. Content-Transfer-Encoding określa sposób kodowania danych,
  3. MIME-Version określa wersję standardu,
  4. Content-ID wyznacza wiadomość właściwą,
  5. Content-Description komentarz do zawartości,

Nagłówek Content-Type może określać następujące typy zawartości:

  1. Text tekst znakowy,
  2. Sound dźwięk,
  3. Image format graficzny,
  4. Video animacje,
  5. Application typy danych określone przez aplikacje,
  6. Message określa jeden z trzech typów wiadomości:
    • wiadomość w standardzie RFC 822,
    • fragment większej całości,
    • odniesienie do wiadomości zewnętrznej – treść jest tylko odnośnikiem do rzeczywistej zawartości.,
  7. Multipart wiadomość wieloczęściowa.

Podstawowe typy danych są następujące

  1. Text/plain tekst nieformatowany; atrybut “charset" jest przyjmowany:
    • domyślnie jako USASCII i może być ustawiony jako dowolny,
    • zestaw znaków ISO 8859,
  2. Text/enriched tekst sformatowany (RFC 1563),
  3. Application//octet-stream dane binarne dowolnego formatu,
  4. Application postscript dane typu PostScript,
  5. Image/gif grafika w formacie GIF,
  6. Image/jpeg grafika w formacie JPEG,
  7. Audio/basic 8-bitowy, jednokanałowy strumień audio, próbkowany z częstotliwością 8 kHz,
  8. Video/mpeg wideo w formacie MPEG.

Przykładowa wiadomość – składająca się z trzech części: tekstu początkowego, obrazu i tekstu końcowego – wygląda następująco: Mime-Version: 1.0 Content_type: multipart/mixed; boundary="_867238780_" -_867238780_ Content-Type: text/plain; charset="us-ascii" -_867238780_ Content-Type: image/gif; name="25974231.gif" x-mac-type="47494666"; x-mac-creator="4A565752" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="255974231.gif" R01GOD1hgALgAecAAAA . . ..-_867238780_ Content-Type: text/plain; charset="us-ascii" Serdecznie pozdrawiam – K.K. -_867238780_

Nagłówek pierwszy określa wersję MIME; drugi wskazuje, że wiadomość zawiera kilka części różnych typów zawartości i wskazuje, jaki ciąg znaków (w tym przypadku _867238780_) oznacza początek każdej części.

Ciąg separujący jest wybrany tak, aby nie pokrywał się z żadną sekwencją znaków w treści. W środku wiadomości każdy separator jest poprzedzany myślnikiem.

W głównej części wiadomości MIME deklaracje fragmentów typów zawartości i atrybutów tej zawartości występują po separatorze każdej takiej części.Linia pusta oddziela nagłówek MIME od treści. Wskazanie w typie wiadomości, że jest to wiadomość wieloczęściowa i mieszana, implikuje sekwencyjne przetwarzanie każdej części.

Jeżeli jakaś organizacja lub dostawca aplikacji chce zdefiniować nowy typ lub podtyp określający zawartość, to może to uczynić poprzedzając przedrostkiem "x-" istniejący typ lub podtyp albo nadając mu nazwę nie kolidującą z istniejącymi nazwami standardowymi.

Jednym z najważniejszych nagłówków MIME jest Content-Transfer-Encoding. Określa on sposób kodowania danych do transmisji w postaci znaków ASCII. Standardowe kodowanie obejmuje 7 bitów, co jest domyślnym ekwiwalentem ASCII. Dla danych wymagających kodu 8-bitowego stosowane są: base64 – kodujący każde kolejne trzy ośmiobitowe bajty na cztery sześciobitowe, kodowanie 8-bitowe i binarne,

Dwa najbardziej rozpowszechnione nagłówki MIME to Content-ID i Content-Description. Ten pierwszy jest równoważny nagłówkowi SMTP Message-ID, a drugi pozwala na dołączenie do zawartości opisu tekstowego.

-
-