Protokół Multipurpose Internet Mail Extensions

Zrozumienie nagłówków MIME

Nagłówki MIME zawierają informacje o protokole.

MIME-Version

Wskazuje, że wiadomość jest sformatowana jako MIME. Wygląda to tak:

MIME-Version: 1.0

Content-Type

Wskazuje typ treści wiadomości, podany jako para typ‑podtyp: np. text/plain, text/html. Typ multipart może zawierać tekst, HTML, załączniki, obrazy, dźwięk, wideo i tak dalej.

Content-Type: multipart

Content-Transfer-Encoding

Wskazuje, czy schemat kodowania binarny‑na‑tekst jest używany ponad kodowaniem określonym w content-type. Jeśli tak, określa który. Można tutaj podać typ kodowania 7-bit, 8-bit oraz binarny.

Encoded-Word

Nagłówki wiadomości SMTP zazwyczaj używają znaków ASCII. Znaki nie‑ASCII muszą używać składni zakodowanego słowa MIME zamiast dosłownego ciągu. Format jest następujący:

"=? charset ? encoding ? encoded text ?=".

Wiadomości multipart

Wiadomość MIME multipart zawiera granicę w nagłówku content-type. Granica, której nie może wystąpić w żadnej z części, jest umieszczana między częściami oraz na początku i końcu ciała wiadomości, jak poniżej:

MIME-version: 1.0


 Content-type: multipart/mixed; boundary="frontier"

This is a multi-part message in MIME format.

--frontier

Content-type: text/plain

This is the body of the message.

--frontier

Content-type: application/octet-stream

Content-transfer-encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg

Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==

--frontier--

Każda część składa się z własnego nagłówka treści oraz ciała.

Podtypy multipart

Standard MIME definiuje różne podtypy wiadomości multipart. Podtyp jest określony w nagłówku „Content-Type” całej wiadomości.

Poniżej znajduje się lista najczęściej używanych podtypów.

  • Mixed: multipart/mixed jest używany do wysyłania plików z różnymi nagłówkami „Content-Type” w treści. Przy wysyłaniu obrazków lub innych łatwo czytelnych plików, większość klientów poczty wyświetli je w treści.
  • Message: część wiadomości zawiera e‑mail.
  • Digest: digest to prosty sposób wysyłania wielu wiadomości tekstowych. Domyślny typ treści dla każdej części to "message/rfc822".
  • Alternative: podtyp alternatywny wskazuje, że każda część jest „alternatywną” wersją tego samego (lub podobnego) treści, każda w innym formacie określonym w nagłówku „Content-Type”.

Najczęściej multipart/alternative jest używany w e‑mailach składających się z dwóch części: jednego tekstu zwykłego (text/plain) i jednego HTML (text/html). Część tekstowa zapewnia kompatybilność wsteczną, podczas gdy część HTML umożliwia użycie formatowania i hiperłączy. Większość klientów poczty oferuje użytkownikowi opcję preferowania tekstu zwykłego zamiast HTML; jest to przykład, jak lokalne czynniki mogą wpływać na to, którą „najlepszą” część wiadomości aplikacja wybierze do wyświetlenia.