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

在 C# 中解析 EML 文件

一种面向 .NET 应用程序的 EML 文件解析方案,无需使用 Microsoft Outlook 或第三方依赖。

在 C# 中提取并解析 EML 文件

Aspose.Email for .NET 是一款帮助开发者处理各种电子邮件格式(包括 EML)的 C# 库。它提供强大的 API 用于提取和解析 EML 文件,使开发者能够在 .NET 应用程序中处理邮件内容、头部、附件和元数据。这些特性对涉及邮件处理的应用(如归档、分析或自动化邮件工作流)至关重要。

Aspose.Email 解析邮件的关键特性

  • 加载 EML 文件并提取其内容,包括发件人详情、收件人、主题和邮件正文。

  • 提取包含关键元数据的头部信息,如路由和线程信息。

  • 提取邮件正文内容:获取纯文本正文(正文的简易表示)或获取 HTML 正文的纯文本(包括超链接)。

  • 提取附件:保存附件以满足合规或存储需求,或对附件文件进行进一步分析。

  • 检索内容中嵌入的内联图像,以用于富媒体处理。

  • 使用正文和头部属性,通过关键字或模式搜索邮件中的特定内容。

安装 C# API

要开始编码,请确保在项目中已安装该 API。您可以通过以下方式添加 API: NuGet 包管理器 在 Visual Studio 中:

  1. 在 Visual Studio 中打开您的项目。

  2. 导航至 Tools > NuGet Package Manager > Manage NuGet Packages for Solution(工具 > NuGet 包管理器 > 为解决方案管理 NuGet 包)。

  3. 在 NuGet 包管理器中搜索 “Aspose.Email”。

  4. 选择软件包并点击 Install(安装)。

或者,您可以使用包管理器控制台进行安装:

 

命令


PM> Install-Package Aspose.Email
 

安装完成后,您即可开始将其功能集成到应用程序中。

在 C# 中解析 EML 文件的步骤

使用以下方式进行基本的消息解析: Aspose.Email for .NET 仅需几行代码即可完成 API 调用。

  1. 将电子邮件加载到一个 MailMessage 对象使用 加载 方法与 EmlLoadOptions .
  2. 显示关键邮件信息:发件人、收件人和主题。
  3. 获取纯文本邮件正文并打印。
  4. 提取并显示 HTML 正文的纯文本(含 URL)。
  5. 提取并显示 HTML 正文的纯文本(无 URL)。
  6. 解码并打印特定的电子邮件头部(例如,Thread-Topic)。

系统要求

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

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

解析 EML 文件 - C#

// Load the email message into the MailMessage instance
MailMessage message = MailMessage.Load(dataDir + "sample.eml", new EmlLoadOptions());

// Display sender, recipient, and subject information
Console.WriteLine("From: " + message.From);
Console.WriteLine("To: " + message.To);
Console.WriteLine("Subject: " + message.Subject);

// Extract and display plain text body
Console.WriteLine("Plain Text Body:");
Console.WriteLine(message.Body);

// Extract and display HTML body as plain text (with URLs)
string bodyWithUrls = message.GetHtmlBodyText(true);
Console.WriteLine("HTML Body (with URLs):");
Console.WriteLine(bodyWithUrls);

// Extract and display HTML body as plain text (without URLs)
string bodyWithoutUrls = message.GetHtmlBodyText(false);
Console.WriteLine("HTML Body (without URLs):");
Console.WriteLine(bodyWithoutUrls);

// Retrieve and decode a specific email header (e.g., Thread-Topic)
string decodedHeaderValue = message.Headers.GetDecodedValue("Thread-Topic");
Console.WriteLine("Decoded Header (Thread-Topic):");
Console.WriteLine(decodedHeaderValue);
 
  • 关于 Aspose.Email for .NET

    使用 Aspose.Email,在 .NET 应用程序中体验解析 EML 文件的便利。下载 免费试用 并立即探索强大的功能。了解 文档 获取深入指南或在 GitHub 上尝试完整示例。

    该 C# 库旨在以高性能和最少的编码工作量处理复杂的邮件相关操作,因而成为 .NET 开发者寻求高效可靠邮件集成的首选。API 支持广泛的邮件格式,如 EML、MSG、MHT 等,实现这些格式的无缝管理,包括创建、解析、转换、接收、发送等。

    Online EML Parser Live Demos

    其他支持的解析格式

    使用 C#,可以轻松解析以下其他格式:

    MSG (Outlook 与 Exchange 格式)