MIME (Multipurpose Internet Mail Extensions) est une norme de communication qui permet le transfert de formats non-ASCII via des protocoles, tels que SMTP, ne prenant en charge que les caractères ASCII 7 bits.
Exemples de formats non-ASCII :
MIME définit différentes façons de coder les formats non-ASCII afin qu'ils puissent être représentés à l'aide du jeu de caractères ASCII à 7 bits.
MIME définit également d'autres en-têtes d'e-mails contenant des informations sur :
Le message MIME résultant peut être « décodé » ou « recodé » après la transmission. Nous parlons de « recodage », car les messages MIME peuvent être convertis dans un autre jeu de caractères que celui du message d'origine.
Les sections qui suivent décrivent certains des concepts fondamentaux des messages MIME.
MIME prend en charge d'autres en-têtes d'e-mails contenant des informations sur le message MIME. Par exemple, les en-têtes fournissent des informations sur le contenu du fichier, la méthode de cryptage utilisée et le numéro de version MIME.
Un en-tête MIME peut contenir des informations sur le type de contenu d'un message MIME. Par exemple, l'en-tête peut spécifier que le fichier contient text/plain, où text est le type et plain le sous-type. La combinaison d'un type et d'un sous-type est appelée type MIME ou type de support Internet.
Un message MIME peut contenir plusieurs types MIME. Par exemple, un message MIME en plusieurs parties peut contenir du texte simple (type text/plain) et du texte HTML (type text/HTML).
L'en-tête Content-Type indique que le message MIME contient plusieurs types MIME. Il utilise également le paramètre boundary pour indiquer quelle chaîne de texte sera utilisée pour marquer le début et la fin de chaque partie du corps. Par exemple : Content-Type : multipart/mixed; boundary=gc0y0pkb9ex
Chaque partie du corps a son propre type de données. Par exemple, une partie du corps du texte simple peut être définie de la manière suivante : Content-type: text/plain; charset=us-asciib>
Si le contenu du corps d'un message MIME est trop volumineux pour traverser le système de transfert d'e-mails, il peut être scindé en plusieurs messages MIME de plus petite taille. Ces messages MIME sont appelés des « messages MIME partiels », car chaque message MIME ne contient qu'un fragment du message total à transmettre.
Chaque message MIME partiel possède :
Au lieu de contenir des données dans le corps d'un message MIME, le corps peut contenir une référence au contenu.
Le corps du message MIME ou une partie du corps a le type de contenu Message/External-Body.