La figure 13 montre quelques fragments du programme exemple IFS3- MAIL2, démontrant les techniques décrites dans ma section précédente. (Le programme entier peut être téléchargé, ainsi que d’autres exemples de programmes de cet article sur www.itpro.fr Club Abonnés).
Ici, j’ai changé la sous-procédure CreateMsg() pour accepter le nom d’un
Programme exemple qui démontre base64 et MIME
fichier à attacher au message e-mail (A en figure 13). La routine commence par essayer d’ouvrir ce fichier, partant du principe que si le fichier n’est pas trouvé, il vaut mieux quitter sans tarder (B en figure 13). La routine crée ensuite un fichier temporaire pour le message e-mail, comme je l’ai fait dans l’exemple précédent, mais elle crée ensuite une limite (en C, figure 13). Je mets les caractères =.= dans la limite parce qu’il est impossible qu’ils figurent dans une pièce jointe codée en base64, et qu’il est très improbable qu’ils figurent dans le texte du message. Pour être encore plus certain que la chaîne limite n’apparaîtra pas dans le texte du message, j’ai ajouté le tampon horodateur courant à partir de l’horloge système à la chaîne limite (D en figure 13). Ainsi, si par une extraordinaire malchance, la limite figure dans le texte du message, elle sera différente la prochaine fois !
Les en-têtes de ce message contiennent le texte « MIME-Version: 1.0 » pour indiquer la version MIME que j’ai utilisée et une ligne avec le texte « Content-Type » pour indiquer au logiciel de courriel que le message comporte plusieurs parties et quelle est la limite qui les sépare (D en figure 13). L’en-tête de la première partie ajoute en préfixe deux tirets à la limite puis l’écrit et un autre type de contenu dans le fichier texte. J’ai identifié cette partie par « text/plain », pour indiquer que c’est du texte en clair (plain) (E en figure 13).
La partie suivante du message contient ce que j’ai décrit comme « application/octet-stream » à tout logiciel de courriel qui essaie d’interpréter le message. Le terme « octet » signifie un octet (byte) de huit bits ; donc, ce code indique simplement que c’est un fichier stream binaire compréhensible par une application. L’en-tête précise en outre que, pendant le transfert, les données sont codées en base64 et devront être traitées comme une pièce jointe.
Le programme lit ensuite le fichier des pièces jointes et le passe à la moulinette de l’encodeur base64, écrivant chaque tranche dans le message e-mail. Le programme écrit une limite finale avec deux tirets en préfixe et en suffixe. Il indique ainsi au logiciel e-mail qu’il a atteint la fin du message codé en MIME (F en figure 13).
Téléchargez cette ressource

Guide de sécurité de l’adoption du Cloud
Avec la pandémie, l’adoption du Cloud s'est emballée, les failles de sécurité aussi. Sécuriser les données au niveau de l’organisation est la clé d'une utilisation sûre du Cloud. Dans ce livre blanc, découvrez les risques liés à cette adoption et les origines de faiblesse de sécurité des données.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Padok « faire du Cloud et de l’infrastructure, un véritable accélérateur business »
- Le numérique responsable
- Delinea : la réponse aux exigences d’accès des entreprises hybrides modernes
- Data, désapprendre pour développer ses compétences en matière de données
- Atos et Eviden : la réponse aux défis cybersécurité et numériques, européens et mondiaux
