Le courrier électronique - Standard MIME

Courrier électronique

Courrier
électronique

Fonctionnement

Utilisation

Règles
de bon usage

Listes
de diffusion

Avancé :

Format
des en-têtes

MIME

Risques

Spam

Phishing
(hameçonnage)

Scam

Loteries

Virus

Vers

Cheval
de Troie

Hoax
(Canulars)

FAQ
sécurité

FAQ
Internet

FAQ
Mail

Introduction à MIME

MIME (Multipurpose Internet Mail
Extensions) est un standard qui a été proposé par les laboratoires
Bell Communications en 1991 afin d'étendre les possibilités
limitées du courrier électronique (mail) et notamment de permettre
d'insérer des documents (images, sons, texte, ...) dans un courrier. Il
est défini à l'origine par les RFC 1341 et 1342 datant de juin 1992.

MIME propose de décrire, grâce à des en-têtes, le type de
contenu du message et le codage utilisé.

MIME apporte à la messagerie les fonctionnalités
suivantes :

Possibilité d'avoir plusieurs objets (pièces jointes) dans un même
message ;

Une longueur de message illimitée ;

L'utilisation de jeux de caractères (alphabets) autres que le code
ASCII ;

L'utilisation de texte enrichi (mise en forme des messages, polices
de caractères, couleurs, etc.) ;

Des pièces jointes binaires (exécutables, images, fichiers audio ou
vidéo, etc.), comportant éventuellement plusieurs parties ;

MIME utilise des directives d’entête spécifiques pour
décrire le format utilisé dans le corps d’un message, afin de permettre au
client de messagerie de pouvoir l'interpréter correctement :

MIME-Version: Il s'agit de version du standard MIME utilisée dans le
message. Actuellement seule la version 1.0 existe.

Content-type : Décrit le type et les sous-type des données. Il peut
posséder un paramètre « charset », séparé par un
point-virtule, définissant le jeu de caractères utilisé.

Content-Transfer-Encoding : Définit l’encodage utilisé dans le corps
du message.

Content-ID : Représente un identificateur unique de partie de
message.

Content-Description : Donne des informations complémentaires sur le
contenu du message.

Content-Disposition : Définit les paramètres de la pièce jointe,
notamment le nom associé au fichier grâce à l'attribut filename.

Types MIME principaux

Le type MIME, utilisé dans l'entête Content-Type,
est utilisé d'une part pour typer les documents attachés à un courrier. Un
type MIME est constitué de la manière suivante :

Content-type: type_mime_principal/sous_type_mime
Une
image GIF possèdera par exemple le type MIME suivant :
Content-type: image/gif

Les types principaux de données, appelés parfois
« types de données discrets », sont les suivants :

text: données textuelles lisibles. text/rfc822 [RFC822] ;
text/plain [RFC2646] ; text/html [RFC2854] .

image: données binaires représentant des images numériques
image/jpeg ; image/gif ; image/png.

audio: données numériques sonores audio/basic ; audio/wav

video : données vidéos : video/mpeg

application : données binaires autres.
application/octet-stream ; application/pdf

Le type MIME est également utilisé sur le Web, pour typer
les documents transférés par le protocole
HTTP. Ainsi, lors d'une transaction entre un serveur web et un
navigateur internet, le serveur web envoie en premier lieu le type MIME du
fichier envoyé au navigateur, afin que ce dernier puisse savoir comment
afficher le document.

Formats de codage

Pour transférer des données binaires, MIME propose cinq
formats de codage pouvant être utilisé dans l'entête
Transfer-encoding :

7bit : format texte codé sur 7 bits (pour les messages non
accentués) ;

8bit : format texte 8 bits ;

quoted-printable : format Quoted-Printable,
recommandé pour les messages utilisant un alphabet codé sur plus de 7
bits (présence d'accents par exemple) ;

base64 : format Base
64, recommandé pour l'envoi de fichiers binaires en pièce
jointe ;

binary : format binaire, déconseillé.

MIME, étant très ouvert, permet d'utiliser des formats de
codage tierstels que les suivants :

BinHex
(format propriétaire appartenant à Apple),

uuencode,

xxencode

Encodage de entêtes

L'utilisation de l'entête Transfer-encoding permet
de préciser un format d'encodage pour le corps du message, mais ne résoud
pas le problème de l'encodage des entêtes eux-mêmes (par exemple le sujet
du message).

Ainsi, pour permettre d'encoder les entêtes avec des
alphabets de plus de 7 bits, et permettre par exemple d'avoir un sujet de
mail accentué, le standard MIME propose le format suivant :

=?charset?encodage?resultat?=

charset représente le jeu de caractère utilisé,

encodage définit l'encodage souhaité avec deux valeurs
possibles :

Q pour quoted-printable

B pour base64

resultat: texte encodé selon la méthode spécifiée.

Voici
ci-dessous un exemple en codage Quoted-Printable
avec « Comment ça marche ? » comme sujet de message :
Subject: Comment =?ISO-8859-1?Q?=E7a_marche_=3F?=

Messages composites

Grâce au type MIME « multipart » le standard
MIME permet de définir des messages composites, c'est-à-dire des messages
comportant plusieurs pièces jointes, éventuellement emboîtées.

Pour ce faire, MIME permet de définir un séparateur
appelé boundary. Il s'agit d'une chaîne arbitraire définie en
attribut de l'entête Content-type :

Content-Type: multipart/mixed;
boundary="------------020005090303070203010601"
Chaque séparateur
délimite un contenu commençant par les entêtes Content-Type et
Content-Encoding. Il est essentiel que la valeur de ce séparateur
n'existe pas dans le contenu du message.

Il existe plusieurs types de séparateurs :

multipart/mixed définit une suite de plusieurs éléments

multipart/alternative définit différentes alternatives pour une même
information, par exemple un message au format texte et HTML. Si le
client de messagerie est capable et configuré pour l'afficher avec une
mise en forme, il affichera la version HTML, sinon il affichera la
version texte.

multipart/parallel définit des données présenter en même temps (son
et image par exemple).

multipart/signed définit une signature numérique pour les données du
message

multipart/related définit des informations liées entre elles

Liste des types MIME

Les types MIME sont normalisés par un organisme appelé
IANA (Internet Assigned Numbers Authority). Voici une liste
non exhaustive des types MIME les plus courants

Type MIME

Type de fichier

Extension associée

application/atom+xml

Fichiers au format ATOM

atom

application/iges

Fichiers CAS

iges

application/javascript

Fichiers Javascript

js

application/dxf

Fichiers AutoCAD

dxf

application/mp4

Fichiers MPEG4

mp4

application/iges

Format d'échange CAO IGES

igs,iges

application/octet-stream

Fichiers binaires non interprétés

bin

application/msword

Fichiers bureautique au format Microsoft Word

doc

application/pdf

Fichiers Adobe Acrobat

pdf

application/postscript

Fichiers PostScript

ai,eps,ps

application/rtf

Format de texte enrichi

rtf

application/sgml

Fichiers SGML

sgml

application/vnd.ms-excel

Fichiers tableur au format Microsoft Excel

xls

application/vnd.ms-powerpoint

Fichiers diaporama au format Microsoft Powerpoint

ppt

application/xml

fichier XML

xml

application/x-tar

Fichiers compressés tar

tar

application/zip

Fichiers compressés ZIP

man

audio/basic

Fichiers audio basiques

au,snd

audio/mpeg

Fichiers audio MPEG

mpg,mp3

audio/mp4

Fichiers audio MPEG-4

mp4

audio/x-aiff

Fichiers audio AIFF

aif,aiff,aifc

audio/x-wav

Fichiers audio Wave

wav

image/gif

Images gif

man

image/jpeg

Images JPEG

jpg,jpeg,jpe

image/png

Images PNG

png

image/tiff

Images Tiff

tiff,tif

image/x-portable-bitmap

Fichiers Bitmap PBM

pbm

image/x-portable-graymap

Fichiers Graymap PBM

pgm

image/x-portable-pixmap

Fichiers Pixmap PBM

ppm

multipart/x-zip

Fichiers archive zip

zip

multipart/x-gzip

Fichiers archive GNU zip

gz,gzip

text/css

Feuille de style

css

text/csv

Fichiers texte avec séparation des valeurs

csv

text/html

Fichiers HTML

htm,html

text/plain

Fichiers texte sans mise en forme

txt,g,h,c,cc,hh,m,f90

text/richtext

Fichiers texte enrichis

rtx

text/rtf

Fichiers texte au format Rich Text Format

rtf

text/tab-separated-value

Fichiers texte avec séparation des valeurs

tsv

text/xml

Fichiers XML

xml

video/h264

Vidéos H.264

h264

video/dv

Vidéos au format DV

dv

video/mpeg

Vidéos MPEG

mpeg,mpg,mpe

video/quicktime

Vidéos QuickTime

qt,mov

video/msvideo

Vidéos Microsoft Windows

avi

Plus d'information

Liste officielle des types MIME (IANA - )

RFC principales :

RFC 2045: MIME Part One: Format of Internet Message Bodies

RFC 2046: MIME Part Two: Media Types

RFC 2047: MIME Part Three: Message Header Extensions for Non-ASCII
Text

RFC 2048: MIME Part Four: Registration Procedures

RFC 2049: MIME Part Five: Conformance Criteria and Examples

RFC annexes :

RFC 1524: The formal description of mailcap files. Mailcap files
describe how to handle media types.

RFC 2015: MIME Security with Pretty Good Privacy (PGP).

RFC 2110: MIME E-mail Encapsulation of Aggregate Documents, such
as HTML (MHTML).

RFC 2111: Content-ID and Message-ID Uniform Resource Locators.

RFC 2112: The MIME Multipart/Related Content-type.

RFC 2183: Defines the syntax and sematics of the
"Content-Disposition" header to convey presentational information.

RFC 2184: MIME Parameter Value and Encoded Word Extensions:
Character Sets, Languages, and Continuations

Discussions pertinentes trouvées dans le forum

08/08 18h30

[GPG]
OpenPGP ou S/MIME dans Thunderbird ?

Virus/Sécurité

08/08 22h58->Taonas

4

26/01 18h26

[Thunderbird]
Bug de formatage MIME

Internet

04/01 22h55->Obeet

4

05/01 08h02

problème
pour ouvrir fichier MIME

Internet

06/01 23h05->Marie

10

15/07 09h09

Mime,Pop
et php

Webmastering

15/07 11h25->batmat

9

19/08 21h23

Type
mime d'un document xml

Webmastering

19/08 23h52->looping

6

17/10 18h14

MIME
: non reconnues

Windows

17/10 23h32->Laumi

4

02/05 15h23

type
mime

Linux/Unix

02/05 21h06->moiSarah

4

15/11 15h35

TYPE
MIME

Windows

07/01 13h39->bigboss190

3

22/12 22h49

PROBLEME
POUR OUVRIR UN FICHIER FORMAT MIME

Logiciels/Pilotes

23/12 02h04->olivierL

2

10/01 11h39

Mime
et la commande mail

Linux/Unix

02/03 11h37->lolo

2

Discussion fermée Problème résolu

Plus
de discussions sur « MIME »

Ce document intitulé « Le
courrier électronique - Standard MIME » issu de l'encyclopédie informatique
Comment Ça Marche (http://www.commentcamarche.net/)
est mis à disposition sous les termes de la licence Creative
Commons. Vous pouvez copier, modifier des copies de cette page, dans
les conditions fixées par la licence, tant que cette note apparaît
clairement.

A
propos | Conditions
générales | © Tous droits réservés 2007 Quidéa