Comment puis-je extraire une pièce jointe du corps de l'e-mail (codé en base64)

13

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--
DrStalker
la source
Vous aurez besoin de trouver un outil UUDECODE pour convertir l'ASCII en un fichier valide.
Sur quel système d'exploitation ou avec quelle architecture de messagerie (remise Unix locale, fetchmail, Thunderbird, Outlook, ...)?
Gilles

Réponses:

2

Enregistrez l'email dans un fichier texte avec l'extension .uueet extrayez la pièce jointe avec un désarchiveur.

Rob Kam
la source
16

Copiez uniquement le texte codé en base64 dans un nouveau fichier texte foo.txt.

base64 --decode foo.txt > bar.pdf

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.

Simon Woodside
la source
1

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.

DrStalker
la source