Sometimes, we receive an e-mail that we can’t really open directly, but we have the base64 source.
I may receive an attached EML file, that is, an outlook express email attached with another e-mail. I have all the original source of this file, but I do not have Outlook Express installed. I created a really simple decoder and it work fine. You just have to look at the boundary of your email. Find the beginning of attachment by searching for « filename= » and you’ll have the filename of the attached file. Then, copy the following code, all the « binary string » code, and only this, without the leading MIME informations, to a text file. In my sample, I called it « c:base64.txt ». Then, I saw that the filename is a pdf. I choose « c:base64.pdf » as my output. This is the code you can use to decode a base64 attachment.
Dim bytes() As Byte
Dim reader As New System.IO.StreamReader("c:base64.txt")
Dim str As String = reader.ReadToEnd
reader.Close()
reader.Dispose()
bytes = System.Convert.FromBase64String(str)
Dim writer As New System.IO.BinaryWriter(IO.File.Open("c:base64.pdf", IO.FileMode.Create))
writer.Write(bytes)
writer.Close()
That’s all!