MIME: Exemple


From: "Nicolas"
To:
Subject: test d'encodage MIME
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary=-=_NextPart"

This is a multi-part message in MIME format.

---=_NextPart
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit


ceci est un message au format texte
il y a un attachement.

---=_NextPart
Content-Type: application/octet-stream;
name="Image1.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Image1.png"

iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAL3RFWHRDcmVhdGlvbiBUaW1lAHZl
bi4gMTcgamFudi4gMjAwMyAxMjozMDowNyArMDEwMDJfaQ8AAAAHdElNRQfTARELHzhktoSKAAAA
CXBIWXMAAAsSAAALEgHS3X78AAAABGdBTUEAALGPC/xhBQAAAAxJREFUeNpj+P//PwAF/gL+MxKV
FAAAAABJRU5ErkJggg==

---=_NextPart--
.
MIME est une extension des protocoles de messagerie électronique, le document ci-dessus est un email que je me suis envoyé. Il contient donc les champs standards et courants tels que From:, To: ou Subject:. Il contient aussi de nouveaux champs qui font partie des extensions telles que MIME-Version, Content-Type.

Un message MIME peut contenir plusieurs objets, appelé body part. Chaque body part est séparé par une ligne incluant la chaîne de caractères boundary (ici -=_NextPart). Chaque body part est un message compatible avec le standard défini par la RFC 822. Cela veut dire que chaque partie est formé comme un message avec une entête et un corps. L'entête étant constituée de plusieurs champs et de leur valeur. Le corps (ou body) est séparé de l'entête d'une ligne blanche. De plus MIME est récursif et un body part peut être de type multipart et contenir plusieurs body part. Syntaxe

La standard MIME est une extension des protocoles d'échanges de messages électroniques, pour permettre aux applications de reconnaître un email MIME, le champ MIME-Version est obligatoire dans l'entête. Aujourd'hui la seule version possible est 1.0.

On doit ensuite définir le type de message MIME qui suit. C'est le Content-Type, cette ligne est toujours de la forme:

Content-Type: type / sous-type ; [paramètres]

Les paramètres dépendent du type et du sous-type du message. Dans l'exemple ci-dessus vous retrouvez plusieurs exemples avec leur paramètre associé. Les champs sont ensuite suivis d'une ligne blanche comme pour un email standard, mais le corps utile du message ne débute ici qu'avec la première ligne boundary.