使用 C# 保存电子邮件中的附件

作为 C# 开发人员,您可以轻松地以编程方式从电子邮件中提取和保存附件。在本文中,您将学习如何使用 C# 从电子邮件中保存附件。

本文讨论/涵盖了以下主题:

用于保存电子邮件附件的 C# API

为了保存 MSG 文件中的附件,我们将使用 GroupDocs.Viewer for .NET API。它是一个强大的文档查看器 API,无需安装任何外部软件即可呈现和显示广泛使用的文件格式。它还可以让您快速查看WordExcelPowerPointOutlook 电子邮件ProjectPDFHTMLXML

您可以 下载 API 的 DLL 或使用 NuGet 安装它。

Install-Package GroupDocs.Viewer

使用 C# 从电子邮件中提取和保存附件

您可以按照以下步骤以编程方式从电子邮件 MSG 文件中提取和保存附件:

  • 首先,使用 Viewer 类加载 MSG 文件。
  • 然后,调用Viewer.GetAttachments()方法获取加载的MSG文件的所有附件。以附件集合的形式获取结果。
  • 对于集合中的每个附件,通过调用 Viewer.SaveAttachment() 方法保存附件。传递附件对象和文件路径以保存它。

以下代码示例展示了如何使用 C# 提取和保存电子邮件 MSG 文件中包含的附件。

string outputPath = @"C:\Files\Viewer\";

// 初始化 API 并加载 MSG 文件
Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg");

// 获取附件
IList<Attachment> attachments = viewer.GetAttachments();

foreach (Attachment attachment in attachments)
{
    // 保存附件
    string filePath = Path.Combine(outputPath, attachment.FileName);
    viewer.SaveAttachment(attachment, File.OpenWrite(filePath));
}
使用 C# 从电子邮件中提取和保存附件

使用 C# 从电子邮件中提取和保存附件。

使用 C# 将电子邮件中的附件另存为 PDF

您可以按照以下步骤以编程方式将电子邮件附件保存为 PDF:

  • 使用附加的文件名和文件路径创建 Attachment 类的实例。
  • 初始化 MemoryStream 类的实例。
  • 使用 Viewer 类加载 MSG 文件。
  • 然后,调用 Viewer.SaveAttachment() 方法并将 Attachment 和 MemoryStream 对象作为输入参数传递。它将提取并保存在内存流中的指定附件。
  • 现在,使用 Viewer 类加载 MemoryStream 对象。
  • 然后,使用输出 PDF 文件路径创建 PdfViewOptions 类的实例。
  • 最后,调用 Viewer.View() 方法将附件保存为 PDF 并查看。

以下代码示例展示了如何使用 C# 将电子邮件 MSG 文件中的附件保存为 PDF 并以 PDF 格式查看。

// 初始化附件
Attachment attachment = new Attachment("attachment-word.doc", "attachment-word.doc");
MemoryStream attachmentStream = new MemoryStream();

// 初始化 API 并加载 MSG 文件
using (Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg"))
{
    // 在流中保存附件
    viewer.SaveAttachment(attachment, attachmentStream);
}

// 初始化 API 并加载附件流
using (Viewer viewer = new Viewer(attachmentStream))
{
    // 定义 PDF 视图选项
    PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\Viewer\\output.pdf");

    // 以 PDF 格式查看
    viewer.View(viewOptions);
}
Save attachments as PDF from emails using C#.

获得免费许可证

您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。

结论

在本文中,您学习了如何使用 C# 提取和保存电子邮件 MSG 文件中包含的附件。此外,您还了解了如何以编程方式将特定附件保存为 PDF。此外,您可以使用 documentation 了解更多关于 GroupDocs.Viewer for .NET API 的信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看