2013-04-15 67 views
6

我有一个.eml文件。我想要做的是从这个.eml文件中检索附件(如果有的话)的From,To,Subject,Body &并保存到数据库。 我需要在C#中完成此任务,并且不需要任何第三方应用程序。从.EML文件检索电子邮件信息

我搜索了一些源代码,但找不到任何东西,除了这个Is it possible to read .eml files in .net 但没有源代码,这是更有帮助。

回答

9

请参考以下链接迫切

http://www.codeproject.com/Articles/76607/Easily-Retrieve-Email-Information-from-EML-Files-R

protected CDO.Message ReadMessage(String emlFileName) 
{ 
    CDO.Message msg = new CDO.MessageClass(); 
    ADODB.Stream stream = new ADODB.StreamClass(); 
    stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown, ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty); 
    stream.LoadFromFile(emlFileName); 
    stream.Flush(); 
    msg.DataSource.OpenObject(stream, "_Stream"); 
    msg.DataSource.Save(); 
    return msg; 
} 

您还可以得到榆树的帮助解析:

http://blog.onderweg.eu/2010/12/parsing-eml-files-in-c/

这也是有用的教程:

http://www.emailarchitect.net/eagetmail/kb/csharp.aspx?cat=18

+0

谢谢你自由职业者:)。我会尝试这个源代码。 – Nemo

+0

随时欢迎。如果有用,您可以接受它作为我的答案。 – Freelancer

+0

这对我有效..谢谢.. – Nemo