Як я можу витягнути вкладення з тіла електронної пошти (закодовано як base64)


13

Як я можу витягнути вкладені файли з електронного листа, коли вони надходять закодовані в тілі електронної пошти, як це:

------ =_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--

Вам потрібно буде знайти інструмент UUDECODE для перетворення ASCII у допустимий файл.

На якій операційній системі чи з якою архітектурою пошти (локальна доставка Unix, fetchmail, Thunderbird, Outlook, ...)?
Жил "ТАК - перестань бути злим"

Відповіді:


2

Збережіть електронний лист у текстовому файлі з розширенням .uueта витягніть вкладення за допомогою архіватора.


17

Скопіюйте в новий текстовий файл лише закодований текст base64 foo.txt.

base64 --decode foo.txt > bar.pdf

Я щойно розшифрував потік base64, який мав зайвий біт на кінці, який мені довелося видалити. Виглядало це так : --=_59494bda030d4629113a60ff13935d81--. Перш ніж я її видалив, я отримав помилку: Invalid character in input stream.після того як я видалив її, не було помилок декодування, і вона відкрилася просто чудово.


1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.