MIME signifie "Multipurpose Internet Mail Extensions". Cela semble à la fois compliqué et dépourvu de sens, mais MIME étend les fonctionnalités originales du courrier électronique sur Internet de manière intéressante.
Les messages électroniques sont définis par la RFC 822 (et plus tard par la RFC 2822) depuis 1982, et ils continueront probablement de respecter cette norme pendant longtemps.
Rien que du texte, texte brut
Malheureusement, la RFC 822 souffre d'un certain nombre de lacunes. En particulier, les messages conformes à cette norme ne doivent contenir que du texte ASCII brut.
Pour envoyer des fichiers (tels que des images, des documents de traitement de texte ou des programmes), il faut d’abord les convertir en texte brut, puis envoyer le résultat de la conversion dans le corps d’un message électronique. Le destinataire doit extraire le texte du message et le reconvertir au format de fichier binaire. C'est un processus fastidieux et, avant MIME, tout devait être fait à la main.
MIME corrige ce problème lié à la RFC 822 et permet également d'utiliser des caractères internationaux dans les messages électroniques. Avec la limitation de la RFC 822 au texte brut (anglais), cela n’était pas possible auparavant.
Le manque de structure
En plus d'être limitée aux caractères ASCII, la RFC 822 n'identifie pas la structure d'un message ni le format des données. Comme il est clair que vous obtenez toujours un fichier de données en texte brut, cela n’était pas nécessaire lors de la définition de la norme.
MIME, en revanche, vous permet d’envoyer plusieurs éléments de données différents dans un message (une image et un document Word, par exemple). Il indique également au client de messagerie du destinataire le format dans lequel les données sont stockées afin qu’ils puissent choisir de manière intelligente le message.
Lorsque vous obtenez une image, vous n'avez plus besoin de savoir qu'elle peut être visionnée avec une visionneuse d'images. Votre client de messagerie affiche l'image elle-même ou lancez un programme sur votre ordinateur.
Construire et étendre la RFC 822
Maintenant, comment fonctionne la magie MIME? Fondamentalement, il utilise le processus fastidieux d’envoi de données arbitraires en texte brut décrit ci-dessus. La norme de message MIME ne remplace pas la norme définie dans la RFC 822, mais la complète. Les messages MIME ne peuvent pas non plus contenir autre chose que du texte ASCII.
Cela signifie que toutes les données de courrier électronique doivent toujours être codées en texte brut avant que le message ne soit envoyé et que le message doit être décodé au format d'origine à la réception. Les premiers utilisateurs de messagerie devaient le faire manuellement. MIME le fait pour nous confortablement et de manière transparente, généralement via un processus intelligent appelé encodage Base64.
La vie en tant que message électronique MIME
Lorsque vous composez un message dans un programme de messagerie compatible MIME, le programme effectue les opérations suivantes:
- Si le message est uniquement en texte ASCII brut, il le laisse seul et ne dit au client de messagerie du destinataire que de recevoir du texte brut.
- Si le message contient une ou plusieurs pièces jointes et un corps avec une mise en forme HTML, chaque partie est examinée et traitée séparément.
Tout d'abord, le format des données est déterminé. Cela est nécessaire pour dire au client de messagerie du destinataire que faire avec les données et pour assurer un codage correct afin que rien ne soit perdu pendant le transfert.
Ensuite, les données sont codées si elles sont dans un format autre que du texte ASCII brut. Lors du processus de codage, les données sont converties en texte brut adapté aux messages RFC 822.
Enfin, les données codées sont insérées dans le message et le client de messagerie du destinataire est informé du type de données auquel il doit s'attendre: existe-t-il des pièces jointes? Comment sont-ils encodés? Dans quel format se trouvait le fichier original?
Du côté du destinataire, le processus est inversé. Tout d'abord, le client de messagerie lit les informations ajoutées par le client de messagerie de l'expéditeur: Dois-je rechercher des pièces jointes? Comment est-ce que je les décode? Comment gérer les fichiers résultants? Ensuite, chaque partie du message est extraite et décodée si nécessaire. Enfin, le client de messagerie affiche les pièces résultantes à l'utilisateur. Le corps du texte en clair est affiché en ligne dans le client de messagerie avec la pièce jointe. Le programme également attaché au message est affiché avec une icône de pièce jointe, et l'utilisateur peut décider quoi faire avec. Elle peut l'enregistrer quelque part sur son disque ou le lancer directement à partir du programme de messagerie.