Como posso extrair um anexo do corpo do email (codificado como base64)

13

Como posso extrair anexos de um email quando eles chegam codificados no corpo do email da seguinte maneira:

------ =_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
fonte
Você precisará encontrar uma ferramenta UUDECODE para converter o ASCII em um arquivo válido.
Em que sistema operacional ou com qual arquitetura de correio (entrega local unix, fetchmail, Thunderbird, Outlook, ...)?
Gilles 'SO- stop be evil'

Respostas:

2

Salve o email em um arquivo de texto com a extensão .uuee extraia o anexo com um desarquivador.

Rob Kam
fonte
17

Copie apenas o texto codificado em base64 em um novo arquivo de texto foo.txt.

base64 --decode foo.txt > bar.pdf

Acabei de decodificar um fluxo base64 que tinha um pouco mais no final que precisei remover. Ele ficou assim: --=_59494bda030d4629113a60ff13935d81--. Antes de removê-lo, recebi o erro: Invalid character in input stream.Depois de excluí-lo, não houve erros de decodificação e ele abriu muito bem.

Simon Woodside
fonte
1

Consegui recuperar o arquivo usando um decodificador base64 e copiando apenas o texto real que era o anexo codificado, e não o material circundante de cabeçalho / rodapé.

DrStalker
fonte