在 .NET 中使用 Aspose.Email FOSS 进行电子邮件消息解析
介绍 以编程方式解析电子邮件消息是归档工具、合规流水线和迁移实用程序的常见需求。Outlook MSG 文件使用复合文件二进制(CFB)容器格式以及 MAPI 属性流,而 EML 文件遵循 MIME 标准。这两种格式都需要仔细处理编码、折叠的标题以及嵌套的附件。 Aspose.Email FOSS for .NET 是一个免费、MIT 许可证的 C# 库,提供完整的读写 API,用于 MSG 和 EML 消息。它面向 .NET 8.0+,且不依赖 Microsoft Outlook 或任何本机 COM 互操作层。该库以 aspose.email.foss NuGet 包的形式提供。 本文将逐步介绍该库中包含的消息解析功能,从磁盘加载文件到提取各个 MAPI 属性以及在不同格式之间转换。 包含内容 加载 MSG 文件 MapiMessage 类是处理 Outlook MSG 文件的主要入口点。您可以从文件路径或流加载消息,并可选择使用 strict-validation 标志,以显示文件中发现的任何结构性问题。 // Load an MSG file from disk var message = MapiMessage.FromFile("meeting-invite.msg"); Console.WriteLine($"Subject: {message.Subject}"); Console.WriteLine($"From: {message.SenderName} <{message.SenderEmailAddress}>"); Console.WriteLine($"Date: {message.MessageDeliveryTime}"); Console.WriteLine($"Recipients: {message.Recipients.Count}"); Console.WriteLine($"Attachments: {message.Attachments.Count}"); 返回的 MapiMessage 为常用字段公开了类型化属性,包括 Subject、Body、HtmlBody、SenderName、SenderEmailAddress、InternetMessageId 和 MessageDeliveryTime。 ...