MIME

Le format MIME permet de spécifier le format du corps du message, dont la RFC 822 se contente de le décrire comme un ensemble de lignes de caractères sur 7 bits. En fait, MIME permet de spécifier le type du message (texte, image, son, vidéo ou plusieurs types à la fois), et le codage du message (7 bits, 8 bits, quoted-printable ou base64). MIME est décrit par les RFC 1341 à 1345, puis 2045 à 2049.

Voici un exemple de courrier au format MIME :

From: jbon@domaine1.com
To: jdeuf@domaine2.com
Subject: MIME
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="mime-c-bien"

Ceci est un message mime

--mime-c-bien

Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Salut,

        je t'envoie le document sur le format MIME que tu m'as demandé.

        Cordialement.

                Jean BON

--mime-c-bien

Content-Type: message/external-body; access-type=anon-ftp;
                 site="ftp.domaine1.com";
                 name="/pub/Linux/Mail/MIME/mime.txt"

--mime-c-bien

Les nouveaux champs apportés par MIME sont :

MIME-Version
Identifie le message au format MIME (1.0 est l'identification du niveau standard actuel).

Content-Type
Spécifie les types, sous-types et paramètres optionnels de chaque partie du message.

Content-Transfer-Encoding
Spécifie le codage de tout ou partie du message.

Content-ID
attribue un identificateur unique à chaque partie du message (optionel).

Content-Description
Permet de spécifier un commentaire attaché à chaque partie (optionnel).

Ce message est composé de deux parties (multipart/mixed) séparées par une chaîne unique (boundary="mime-c-bien"). La première partie est un texte normal (text/plain), contenant des accents, donc utilisant un jeu de caractère différent de l'ASCII classique (charset=iso-8859-1), tandis que la deuxième partie est une référence à un objet externe (message/external-body) accédé par ftp anonyme (access-type=anon-ftp).

Voici un autre exemple de message au format MIME :

From: Jean BON <Jean.Bon@domaine1.com>
To: John.Deuf@domaine2.com
Mime-Version: 1.0
Content-Type: text/enriched; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-UIDL: '8e!!!(`"!?4W"!5J4"!
Status: RO
Content-Length: 662
Lines: 45

<bold><color><param>0000,0000,ffff</param><bigger>
les infos de la semaine
</bigger></color></bold>


Voici une offre de job arrivée le vendredi 12 janvier :


<bold>Le Café du Palais</bold>

contacter M. Dugenoux.

Ils <bold><color><param>ffff,0000,0000</param>recherchent des
serveurs</color></bold> pour leurs différents services (midi et soir et WE).

La balise bold affichera le texte en gras. Les autres balises pour le texte enrichi MIME sont spécifiées dans la RFC 1523.