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

11

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

------ =_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--
    
por DrStalker 22.11.2010 / 00:54

3 respostas

2

Salve o email em um arquivo de texto com a extensão .uue e extraia o anexo com um arquivador.

    
por 22.11.2010 / 01:38
14

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

base64 --decode foo.txt > bar.pdf

Eu decodifiquei um fluxo de base64 que tinha um bit extra no final que eu tinha que remover. Ficou assim: --=_59494bda030d4629113a60ff13935d81-- . Antes de eu removê-lo eu recebi o erro: Invalid character in input stream. Depois que eu deletei, sem erros de decodificação e abriu muito bem.

    
por 22.10.2013 / 01:37
1

Consegui recuperar o arquivo usando um decodificador base64 e copiei apenas o texto real que era o anexo codificado, e não o conteúdo do cabeçalho / rodapé.

    
por 22.11.2010 / 01:47

Tags