从MHT文档中提取内容

时间:2009-08-12 20:17:48

标签: c# .net mhtml

有人知道在.NET中使用MHT文件(Multi-Part MIME files)的任何库吗?我需要以编程方式从包含Flash网站的现有MHT文件中提取内容。我找不到任何这样的库。

另外,如果.NET中有一种我不知道的原生方式,请随时告诉我。

编辑:我知道MailMessage类通过AlternateViews property支持多部分MIME邮件。 AlternateView类表示多部分MIME消息中的备用视图。我想相信可以使用这些知识使用.NET框架本机代码构建一些东西。我只是找不到合适的组合才能使它发挥作用,所以我开始失去信心。有没有人知道是否可以通过AlternateView和其他相关类提取MHT文件的内容?例如,如果可以从Stream创建MailMessage类的实例,那就太好了。

3 个答案:

答案 0 :(得分:1)

http://www.lumisoft.ee/lswww/ENG/Products/Mail_Server/mail_index_eng.aspx?type=info

这是一个开源的电子邮件服务器,它具有良好的Mime Parser。

答案 1 :(得分:1)

您可能对我在github上的MIME解析项目感兴趣(用C#编写)

https://github.com/smithimage/MIMER/

还有一个Nuget包:

https://nuget.org/packages/MIMER/

答案 2 :(得分:0)

David benko做了一个很棒的工作here他的github项目。我最近遇到了一个问题,我有一个需要转换为HTML文件的mhtml。为此,我使用HTMLAgility pack dll从mhtml文件中提取内容,并将此内容提供给David提供的库:

string filePath = @"D:\Temp\myfile.mhtml";
var doc = new HtmlDocument();
doc.Load(filePath);
string mhtml = doc.DocumentNode.OuterHtml;
MHTMLParser parser = new MHTMLParser(mhtml);
string htmlContent = parser.getHTMLText();
System.IO.File.WriteAllText(@"D:\Temp\file.html", htmlContent);

如果有人可以验证这种方法,我真的很感激。 干杯 Vaqar

相关问题