将文本格式的JPEG从电子邮件消息源转换回JPEG

Arv*_*vin 5 email jpeg attachment

我刚刚收到一封电子邮件,上面附有图片附件.从那时起,似乎hotmail已停止为我托管图像,因为当我打开邮件时,图像不再可用.

但是,消息源仍然完好无损,如果我没有错,消息源 - 以文本形式 - 也包含图像.

问题当然是文本形式.(我相信)包含图像的部分看起来像这样:(只是前几行)

--apple-邮件2--733971985

内容处理:内联; filename = photo.JPG Content-Id:<3F8BDC26-81F3-4BA2-9071-53E78CB3DB63/photo.JPG>

内容类型:image/jpeg; name = photo.JPG Content-Transfer-Encoding:base64

/ 9J/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdC IFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAA AADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFj cHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAA ABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAAD TAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD + AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJD

它是从我的iPhone发送到Hotmail.

这段文字是否代表我遗失的图片?我不相信有一个程序可以为我转换这个,所以我愿意编写我自己的程序来做到这一点.问题是,这甚至可能吗?

Pis*_*3.0 5

是的,这完全可以通过各种方法实现.如果您拥有整个消息源,则可以将其保存到文件(类似*.eml)中并在邮件客户端(例如Mozilla Thunderbird)中打开它; 这应该显示整个消息,包括附加的图像.

如果没有,它仍然可能:正如你从标题中看到的那样,图像是base64编码的.您需要恢复此转换 - 使用您自己的代码(例如PHP具有base64_decode()),或通过在线提供的各种base64解码器(例如,).要解码的部分是/9j/4AAQSk在这种情况下以块开头的块.重命名生成的文件photo.JPG(如电子邮件标题中所示),您就完成了.

请注意,这要求您验证是否已将整个base64编码的文件放入解码器 - base64没有用于检测文件末尾的标记.