> Tech > Programme exemple qui démontre base64 et MIME

Programme exemple qui démontre base64 et MIME

Tech - Par iTPro - Publié le 24 juin 2010
email

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

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 gratuitement cette ressource

Les 7 étapes d’un projet de dématérialisation RH

Les 7 étapes d’un projet de dématérialisation RH

Dans ce livre blanc, nous vous donnons les clés pour concevoir votre projet de dématérialisation RH. Vous découvrirez chacune des étapes qui vous permettront d’apporter de nouveaux services aux collaborateurs, de vous adapter aux nouvelles pratiques et de renforcer la marque employeur.

Tech - Par iTPro - Publié le 24 juin 2010