如何解码作为Base64文本接收的电子邮件附件

时间:2014-10-13 10:36:08

标签: email base64 attachment decoding

我有一个纯文本的电子邮件备份文件。如何将附加到其上的文档(PDF,图像,文字文件)检索为普通文件?

2 个答案:

答案 0 :(得分:10)

  1. 选择电子邮件中显示的长字符串。这可能是其中一个附件,它通常是这样开始的:

    --bcaec554d754b0f76a04d9fda578--
    --bcaec554d754b0f77204d9fda57a
    Content-Type: application/pdf; name="test.pdf"
    Content-Disposition: attachment; filename="Otest.pdf"
    Content-Transfer-Encoding: base64
    X-Attachment-Id: 9ba6310dffca527f_0.1
    
  2. 复制此长字符串并将其粘贴到Base64解码器found here中。

  3. 下载输出并通过添加适当的扩展名对其进行重命名。例如testfile.pdffilename.docx

  4. 你去吧。您刚刚使用Base64解码重新创建了丢失的附件。

答案 1 :(得分:0)

这是在PHP中解码文件的方法

 function base64_to_jpeg( $inputfile, $outputfile ) { 
  /* read data (binary) */ 
  $ifp = fopen( $inputfile, "rb" ); 
  $imageData = fread( $ifp, filesize( $inputfile ) ); 
  fclose( $ifp ); 
  /* encode & write data (binary) */ 
  $ifp = fopen( $outputfile, "wb" ); 
  fwrite( $ifp, base64_decode( $imageData ) ); 
  fclose( $ifp ); 
  /* return output filename */ 
  return( $outputfile ); 
}

在HTML中,如果您只想显示在Web中/使用HTML

<img src="data:image/png;base64,Your_Base_64_Code_Here">

您可以使用用作CSS背景:

url('data:image/png;base64,Your_Base_64_Code_Here')