c# - 在 C# 中解析 .eml 文件的建议

标签 c# eml

我有一个包含电子邮件对话的 .eml 文件目录。在 C# 中是否有推荐的解析此类文件的方法?

最佳答案

2017 年 8 月添加:查看 MimeKit:https://github.com/jstedfast/MimeKit .它支持 .NET Standard,因此可以跨平台运行。

原始答案:我发布了一个示例项目来说明这个答案 to Github

CDO COM DLL 是Windows/IIS 的一部分,可以在.net 中引用。它将提供准确的解析和漂亮的对象模型。将它与对 ADODB.DLL 的引用结合使用。

public CDO.Message LoadEmlFromFile(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();

    stream.Close();
    return msg;
}

关于c# - 在 C# 中解析 .eml 文件的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936422/

相关文章:

c# - BitmapSource.Create 错误 - 缓冲区大小不够大

c# - Visual Studio 2015 中的单元测试不运行

java - 向现有 MimeMessage 添加附件

c# - 使用 Redemption 将 MSG 转换为 EML 后,内部地址丢失

java - 使用 java 将 .msg 转换为 .eml

c# - RangeValidator 货币值小数点后不能超过 2 位?

c# - 从列表中删除多个值

c# - 为什么 .Net 框架类中的静态方法总是线程安全的?

outlook - 在 Outlook 2010 中以撰写模式打开 .eml 文件

php - 从原始正文发送邮件用于测试目的