解析EML文件,
1、首先需要解析header
/*3.1. GENERAL DESCRIPTION
A message consists of header fields and, optionally, a body.
The body is simply a sequence of lines containing ASCII characters. It is separated from the headers by a null line (i.e., a line with nothing preceding the CRLF).
*/
即一个空行为header与body的分隔符
注意,若是解析成中文的话,需要UTF-8的编码
"\r\n"为换行
2、解析boundaryID
ParseBoundaryID(string headers),因此解析的是header。
/*
System.Text.Encoding enc = null;
string encoding = "gb2312";
enc = System.Text.Encoding.GetEncoding(encoding);
enc.GetString(Convert.FromBase64String(test));
*/
这段代码,可以实现中文乱码的翻译。
邮件EML文件解析,附件存储,中文乱码解析,都做好了。用c#做的,用到了LumiSoft的开源代码。其实有空可以看看它的代码怎么做的,还是比较简单,复杂一些,需要把各种情况都考虑进去。
1、首先需要解析header
/*3.1. GENERAL DESCRIPTION
A message consists of header fields and, optionally, a body.
The body is simply a sequence of lines containing ASCII characters. It is separated from the headers by a null line (i.e., a line with nothing preceding the CRLF).
*/
即一个空行为header与body的分隔符
注意,若是解析成中文的话,需要UTF-8的编码
"\r\n"为换行
2、解析boundaryID
ParseBoundaryID(string headers),因此解析的是header。
/*
System.Text.Encoding enc = null;
string encoding = "gb2312";
enc = System.Text.Encoding.GetEncoding(encoding);
enc.GetString(Convert.FromBase64String(test));
*/
这段代码,可以实现中文乱码的翻译。
邮件EML文件解析,附件存储,中文乱码解析,都做好了。用c#做的,用到了LumiSoft的开源代码。其实有空可以看看它的代码怎么做的,还是比较简单,复杂一些,需要把各种情况都考虑进去。
本文介绍了如何使用C#解析EML文件的header和body部分,并提供了处理中文乱码及附件存储的方法。通过LumiSoft的开源代码实现了邮件EML文件的完整解析。
5307

被折叠的 条评论
为什么被折叠?



