Multipurpose Internet Mail Extensions Protocol

Begrijpen van MIME-headers

MIME-headers bevatten informatie over het protocol.

MIME-versie

Dit geeft aan dat het bericht in MIME-formaat is. Het verschijnt als:

MIME-Version: 1.0

Content-Type

Dit geeft het contenttype van het bericht aan, gegeven als een type- en subtypepaar: bijvoorbeeld text/plain, text/html. Het multipart-contenttype kan tekst, HTML, bijlagen, afbeeldingen, audio, video enzovoort bevatten.

Content-Type: multipart

Content-Transfer-Encoding

Geeft aan of een binary-to-text coderingsschema wordt gebruikt bovenop de codering gespecificeerd door content-type. Indien aanwezig, wordt aangegeven welke. We kunnen hier 7-bit, 8-bit en binary coderingssoorten specificeren.

Encoded-Word

SMTP-berichtheaders gebruiken normaal gesproken ASCII-tekens. Niet-ASCII-tekens moeten de MIME-gecodeerde woorden-syntaxis gebruiken in plaats van een letterlijke tekenreeks. Het formaat is:

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

Multipart-berichten

Een MIME multipart-bericht bevat een grens (boundary) in de content-type header. Deze grens, die niet mag voorkomen in een van de delen, wordt geplaatst tussen de delen, en aan het begin en einde van de body van het bericht, als volgt:

MIME-versie: 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--

Elk deel bestaat uit een eigen content-header en een body.

Multipart-subtypes

De MIME-standaard definieert verschillende multipart-berichtsubtypes. Het subtype wordt gespecificeerd in de "Content-Type" header van het gehele bericht.

Hieronder staat een lijst van de meest gebruikte subtypes.

  • Mixed: Multipart/mixed wordt gebruikt voor het versturen van bestanden met verschillende "Content-Type" headers inline. Bij het versturen van afbeeldingen of andere gemakkelijk leesbare bestanden tonen de meeste e-mailclients deze inline.
  • Message: Een berichtdeel bevat een e-mailbericht.
  • Digest: digest is een eenvoudige manier om meerdere tekstberichten te versturen. Het standaard content-type voor elk deel is "message/rfc822".
  • Alternative: De alternative subtype geeft aan dat elk deel een "alternatieve" versie is van dezelfde (of vergelijkbare) inhoud, elk in een ander formaat aangeduid door de "Content-Type" header.

Meestal wordt multipart/alternative gebruikt voor e-mail met twee delen, één platte tekst (text/plain) en één HTML (text/html). Het platte-tekstdeel biedt achterwaartse compatibiliteit terwijl het HTML-deel opmaak en hyperlinks mogelijk maakt. De meeste e-mailclients bieden een gebruikersoptie om platte tekst boven HTML te verkiezen; dit is een voorbeeld van hoe lokale factoren de keuze van een applicatie kunnen beïnvloeden welke "best" deel van het bericht wordt weergegeven.