从.EML文件中检索电子邮件信息

7
我有一个.eml文件。我想要做的是从这个.eml文件中检索发件人,收件人,主题、内容和附件(如果有)并保存到数据库中。我需要用C#来实现,并且不使用任何第三方应用程序。
我搜索了一些源代码,但是没能找到除了这个Is it possible to read .eml files in .net以外的更有帮助的源代码。
1个回答

10

紧急参考以下链接:

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

你也可以从以下网址获取有关解析elm的帮助:

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

这个教程也很有用:

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


CDO 似乎已经被弃用并不再受支持... 有没有更新的想法?(请参见:https://stackoverflow.com/a/6179413/2216555) - AleX_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接