Как извлечь вложение из тела письма (закодировано как base64)

12965
DrStalker

Как я могу извлечь вложения из электронного письма, когда они приходят, закодированные в теле письма, например:

------ =_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-- 
11
Вам нужно будет найти инструмент UUDECODE для преобразования ASCII в правильный файл. 13 лет назад 0
На какой операционной системе или с какой архитектурой почты (локальная доставка Unix, fetchmail, Thunderbird, Outlook, ...)? Gilles 13 лет назад 0

3 ответа на вопрос

14
Simon Woodside

Copy only the base64 encoded text into a new text file foo.txt.

base64 --decode foo.txt > bar.pdf 

I just decoded a base64 stream that had an extra bit on the end that I had to remove. It looked like this: --=_59494bda030d4629113a60ff13935d81--. Before I removed it I got the error: Invalid character in input stream. After I deleted it, no decoding errors and it opened just fine.

2
Rob Kam

Сохраните письмо в текстовый файл с расширением .uueи распакуйте вложение с помощью де-архиватора.

1
DrStalker

Я смог восстановить файл, используя декодер base64 и скопировав только фактический текст, который был закодированным вложением, а не какой-либо из окружающих заголовков / колонтитулов.

Похожие вопросы