2009-08-12 2 views
2

Кто-нибудь знает какие библиотеки для работы с файлами MHT (Multi-Part MIME files) в .NET? Мне нужно программно извлечь содержимое из существующего файла MHT, содержащего веб-сайт Flash. Я не смог найти такие библиотеки.Извлечение содержимого из документа MHT

Кроме того, если в .NET есть собственный способ, о котором я не знаю, не стесняйтесь, дайте мне знать.

EDIT: Я знаю, что MailMessage класс поддерживает составные сообщения MIME через AlternateViews property. Класс AlternateView представляет альтернативные виды в многочастном MIME-сообщении. Хотелось бы верить, что можно использовать эти знания для создания чего-то, используя код, родной для платформы .NET. Я просто не смог найти правильную комбинацию, чтобы заставить ее работать, поэтому я начинаю терять веру. Кто-нибудь знает, можно ли извлечь содержимое файла MHT через AlternateView и другие связанные классы? Например, было бы неплохо, если бы можно было создать экземпляр класса MailMessage из Stream.

ответ

1

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

Это открытый исходный сервер электронной почты, который имеет хорошую Mime Parser.

+0

Спасибо за ссылку. Это похоже на приличный почтовый сервер. К сожалению, зависимости, по моему мнению, возмутительны для моих потребностей. Они должны разбить это на проекты и уменьшить зависимости. – senfo

0

Дэвид Benko сделал большую работу here его проект github. Недавно я столкнулся с этой проблемой, когда у меня был mhtml, который нужно было преобразовать в файл HTML. для этого я использовал HTMLAgility DLL пакета для извлечения содержимого из файла MHTML и корм в этом содержании в предоставленной библиотеку Давида:

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); 

Я был бы очень признателен, если кто-то может проверить этот подход. Cheers Vaqar