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
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Pourquoi les outils de sécurité ne suffisent plus face aux angles morts de la détection
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- L’analytique prédictive au service de la décarbonation en France
- Ofelia, ex-Bonitasoft, lance une solution d’orchestration IA agentique
Articles les + lus
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
À la une de la chaîne Tech
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
