Comment puis-je extraire les pièces jointes d'un courrier électronique lorsqu'elles arrivent encodées dans le corps du message comme suit:
------ =_NEXTPART_FORMSCAPE_MAIL_message101122101615
Content-Type: application/octet-stream; name="MyFile_hasalongish
filename_22-NOV-2010.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MyFile_hasalongishfilename_22-NOV-2010.pdf"
Content-Description: MyFile_hasalongishfilename_22-NOV-2010.pdf
JVBEDi0xLjMKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0
ZFRGVSdsfSDF43N0cmVhbQp4nJ0b23IVN/LdXzG1D7vnbOUMo9tISiWpBduAN2CMbZJN
[...]
OUIwOEYxRDcyRjkwRDAxRUU1QzBDMjhEM0Y+XQo+PgpzdGFydHhyZWYKMTMwNDQKJSVF
T0YK
------ =_NEXTPART_FORMSCAPE_MAIL_message101122101615--
Réponses:
Enregistrez l'email dans un fichier texte avec l'extension
.uue
et extrayez la pièce jointe avec un désarchiveur.la source
Copiez uniquement le texte codé en base64 dans un nouveau fichier texte
foo.txt
.Je viens de décoder un flux base64 qui comportait un petit extra que je devais supprimer. Il ressemblait à ceci:
--=_59494bda030d4629113a60ff13935d81--
. Avant de la retirer, j'ai eu l'erreur suivante:Invalid character in input stream.
après l'avoir supprimée, aucune erreur de décodage et elle s'est très bien ouverte.la source
J'ai pu récupérer le fichier en utilisant un décodeur base64 et en ne copiant que le texte réel qui était la pièce jointe codée, pas n'importe quel élément d'en-tête / pied de page qui l'entourait.
la source