Multipurpose Internet Mail Extensions‑protokoll
Multipurpose Internet Mail Extensions (MIME) är en Internetstandard som utökar e‑postformatet för att stödja:
- text i teckenuppsättningar annan än US‑ASCII;
- icke‑textbilagor;
- multipart‑meddelandekroppar; och
- rubrikinformation i icke‑ASCII‑teckenuppsättningar.
SMTP stöder endast 7‑bitars ASCII‑tecken, vilket i praktiken betyder att det bara stödjer ett litet antal språk. Språk baserade på det latinska alfabetet fungerar bra i SMTP; andra språk visas inte korrekt när e‑posten levereras. MIME å andra sidan utökar ASCII‑teckensupporten i SMTP så att e‑post som använder andra teckenuppsättningar, bilder och ljud kan skickas och visas. Generellt mappar alla e‑postklienter och SMTP‑servrar meddelanden i MIME‑format korrekt.
Förstå MIME‑rubriker
MIME‑rubriker innehåller information om protokollet.
MIME-Version
Detta indikerar att meddelandet är i MIME‑format. Det visas som:
MIME-Version: 1.0
Content-Type
Detta anger meddelandets innehållstyp, given som ett typ‑ och undertyp‑par: text/plain, text/html, till exempel. Multipart‑innehållstypen kan innehålla text, HTML, bilagor, bilder, ljud, video osv.
Content-Type: multipart
Content-Transfer-Encoding
Anger om ett binär‑till‑text‑kodningsschema används ovanpå den kodning som anges av content‑type. Om det finns, anger vilket. Vi kan specificera 7‑bit, 8‑bit och binär kodning här.
Encoded‑Word
SMTP‑meddelanderubriker använder normalt ASCII‑tecken. Icke‑ASCII‑tecken måste använda MIME‑kodad ordsyntax istället för en bokstavlig sträng. Formatet är:
"=? charset ? encoding ? encoded text ?=".
Multipart‑meddelanden
Ett MIME‑multipart‑meddelande innehåller en avgränsare i content‑type‑headern. Denna avgränsare, som inte får förekomma i någon av delarna, placeras mellan delarna samt i början och slutet av meddelandets kropp, enligt följande:
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--
Varje del består av sin egen innehållshuvud och en kropp.
Multipart‑undertyper
MIME‑standarden definierar olika multipart‑meddelande‑undertypen. Undertypen specificeras i "Content-Type"‑headern för hela meddelandet.
Följande är en lista över de mest använda undertyperna.
- Mixed: Multipart/mixed används för att skicka filer med olika "Content-Type"‑header inline. Vid sändning av bilder eller andra lätt läsbara filer visar de flesta e‑postklienter dem inline.
- Message: En meddelandedel innehåller ett e‑postmeddelande.
- Digest: digest är ett enkelt sätt att skicka flera textmeddelanden. Standard‑content‑type för varje del är "message/rfc822".
- Alternative: Det alternativa undertypen indikerar att varje del är en "alternativ" version av samma (eller liknande) innehåll, var och en i ett annat format som anges i dess "Content-Type"‑header.
Vanligtvis används multipart/alternative för e‑post med två delar, en vanlig text (text/plain) och en HTML‑del (text/html). Textdelen ger bakåtkompatibilitet medan HTML‑delen möjliggör formatering och hyperlänkar. De flesta e‑postklienter erbjuder ett användaralternativ att föredra vanlig text framför HTML; detta är ett exempel på hur lokala faktorer kan påverka hur en applikation väljer vilken "bästa" del av meddelandet som visas.