PNG JPG BMP TIFF MSG
Aspose.Email  适用于 .NET

在 C# 中比较 MSG 格式

使用服务器端 Aspose.Email for .NET API 的本地高性能 MSG 消息比较,无需安装 Microsoft Office 或 PDF。

如何使用 C# 比较 MSG 文件

为了比较 MSG 文件,我们将使用

Aspose.Email for .NET

该 API 是面向 C# 平台的功能丰富、强大且易于使用的文档操作 API。打开

NuGet

在包管理器中搜索 Aspose.Email 并安装。您也可以使用以下命令在包管理器控制台中执行。

命令


PM> Install-Package Aspose.Email

使用 C# 比较 MSG 文件的步骤

使用以下方法进行基础的消息比较

Aspose.Email for .NET

只需几行代码即可使用 API 比较 Outlook、Gmail、Apple Mail、Thunderbird 文档,并获取两封邮件之间的差异。

  • 加载用于比较的两个邮件文件。
  • 获取每个邮件文件的正文内容。
  • 使用 GetMatrix 方法进行比较。
  • 列出差异并设置正文内容。
  • 保存文件。

系统要求

我们的 API 支持所有主流平台和操作系统。在执行以下代码之前,请确保您的系统已满足以下前提条件。

  • Microsoft Windows 或兼容的操作系统,支持 .NET Framework、.NET Core 和 Xamarin 平台
  • 开发环境,如 Microsoft Visual Studio
  • 在项目中引用 Aspose.Email for .NET DLL——可通过上方的 Download 按钮从 NuGet 安装
 

比较 MSG 文件 - C#

// fileName1 = msg first file to compare
// fileName2 = msg second file to compare
var email1 = MapiHelper.GetMapiMessageFromFile(Path.Combine(Config.Configuration.WorkingDirectory, folderName, fileName1));
var email2 = MapiHelper.GetMapiMessageFromFile(Path.Combine(Config.Configuration.WorkingDirectory, folderName, fileName2));

var body1 = email1.Body.Split(new string[] { " " }, StringSplitOptions.None).SelectMany(SplitOfNewLine).ToArray();
var body2 = email2.Body.Split(new string[] { " " }, StringSplitOptions.None).SelectMany(SplitOfNewLine).ToArray();

var lcsMatrix = GetMatrix(body1, body2, StringComparer.Ordinal);

var list = new List( LSTnode(string))();

ListDiffTreeFromBacktrackMatrix(list, lcsMatrix, body1, body2, StringComparer.Ordinal);

email2.SetBodyContent(BuildBodyDiff(list), Email.Mapi.BodyContentType.Html);

email2.Save(outPath);            
 
  • 关于 Aspose.Email for .NET API

    Aspose.Email 是一个用于解析 Microsoft Outlook 和 Thunderbird 格式的解决方案。您可以轻松创建、操作、转换诸如 MSG、EMLX、EML 和 MHT 等电子邮件及存储格式。处理电子邮件附件、定制消息头以及实现 POP3、IMAP 和 SMTP 等网络协议以收发邮件变得更加容易。它是一个独立的 API,无需安装 Microsoft Outlook 或其他软件。

    Online MSG Comparison Live Demos

    MSG What is MSG File Format

    MSG 是 Microsoft Outlook 和 Exchange 用于存储电子邮件、联系人、约会或其他任务的文件格式。这类消息可能包含一个或多个电子邮件字段,如发件人、收件人、主题、日期和正文,或包含联系信息、约会详情以及一个或多个任务规格。构成 Message 对象的属性也包含在 MSG 文件中。MSG 文件包含标题、主消息正文和以纯 ASCII 文本形式的超链接。MSG 文件也适用于需要 Microsoft 消息应用程序编程接口(MAPI)的程序。

    Read More

    其他支持的比较格式

    使用 C#,还可以比较包括以下在内的多种邮件文件。

    EML (Outlook 邮件)
    MBOX (电子邮件消息)
    OST (离线存储文件)
    PST (Outlook 个人存储文件)