从MIME消息创建文件

问题描述

我想从多部分mime邮件的附件中创建文件。我可以检索所需的信息,而且创建本身也不是问题。我遇到的困难是,对于给定的标题和正文,我不确定应该使用哪种编码来创建文件

假设我们必须附加附件:

//HEADER    
Content-Type: application/pdf;
         name="somepdf.pdf"
Content-transfer-encoding: base64
Content-disposition: attachment;
         filename="somepdf.pdf"
//BODY
 %PDF-1.4
    7 0 obj <</Length1 1501 /Length2 7274 /Length3 0 /Length 8281 /Filter /FlateDecode>>
    .. 
    ..


//HEADER
Content-Type: text/x-tex; charset=UTF-8;
     name="sometex.tex"
Content-transfer-encoding: 7bit
Content-disposition: attachment;
     filename="sometex.tex"

//BODY
    \documentclass[a4paper,12pt]{article}
    \usepackage[german,english]{babel}
    \usepackage{fullpage,graphicx}
    ..
    ..

如果要创建一个包含此信息的文件,应如何选择文件的编码?如果我只是拿pdf的正文,例如并直接使用它来编写pdf文件,由于编码错误,导致pdf格式不可读。对应文件的正确编码是什么?如果您还有其他提示,我将使用Kotlin在android上进行此操作

解决方法

解析电子邮件非常困难。有多种不同的编码方法,字符集,并且在电子邮件中经常看到边缘情况和多部分内容的嵌套。

尝试仅提取正文部分不会涵盖编码方法,并且每种方法都会有所不同,并且需要了解电子邮件的RFC标准(例如RFC 5322、2822、822)。