How can I extract attachments from an email when they arrive encoded in the body of the email like this:

------ =_NEXTPART_FORMSCAPE_MAIL_message101122101615
Content-Type: application/octet-stream; name="MyFile_hasalongish
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MyFile_hasalongishfilename_22-NOV-2010.pdf"
Content-Description: MyFile_hasalongishfilename_22-NOV-2010.pdf

------ =_NEXTPART_FORMSCAPE_MAIL_message101122101615--
  • You'll need to find a UUDECODE tool to convert the ASCII to a valid file.
    – user3463
    Nov 22, 2010 at 0:37
  • On what operating system, or with what mail architecture (local unix delivery, fetchmail, Thunderbird, Outlook, ...)? Nov 22, 2010 at 0:52

3 Answers 3


Save the email to a text file with the extension .uue and extract the attachment with a de-archiver.


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.

  • Also if facing invalid input errors, some might find useful to add --ignore-garbage (or just -i) flag
    – deevee
    Nov 16, 2021 at 8:51
  • The @deevee tip worked like a charm to me, thanks! Aug 9 at 16:23

I was able to recover the file using a base64 decoder and copying only the actual text that was the encoded attachment, not any of the surrounding header/footer stuff.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .