Jak mogę wyodrębnić załączniki z wiadomości e-mail po ich zakodowaniu w treści wiadomości e-mail w następujący sposób:
------ =_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--
Odpowiedzi:
Zapisz wiadomość e-mail w pliku tekstowym z rozszerzeniem
.uue
i wyodrębnij załącznik za pomocą archiwizatora.źródło
Skopiuj tylko tekst zakodowany w standardzie base64 do nowego pliku tekstowego
foo.txt
.Właśnie zdekodowałem strumień base64, który miał na końcu dodatkowy bit, który musiałem usunąć. Wyglądało to tak:
--=_59494bda030d4629113a60ff13935d81--
. Zanim go usunąłem, dostałem błąd:Invalid character in input stream.
po usunięciu go nie ma błędów dekodowania i otworzył się dobrze.źródło
Byłem w stanie odzyskać plik przy użyciu dekodera base64 i kopiując tylko tekst, który był zakodowanym załącznikiem, a nie otaczające go nagłówki / stopki.
źródło