您的位置:首页 > 文旅 > 美景 > 借助Aspose.Email,使用 C# .NET 创建 PST 文件并填充内容

借助Aspose.Email,使用 C# .NET 创建 PST 文件并填充内容

2024/12/23 11:56:09 来源:https://blog.csdn.net/m0_67129275/article/details/139734957  浏览:    关键词:借助Aspose.Email,使用 C# .NET 创建 PST 文件并填充内容

PST(个人存储表)文件是管理 Outlook 数据的重要组成部分,方便存储电子邮件、联系人、日历和其他项目。在 C# .NET 开发领域,创建和管理存储文件的过程对于各种应用程序至关重要。

在本文中,我们将探讨如何使用 C# .NET 创建 PST 文件。我们将介绍如何创建空的 PST 存储、添加文件夹和子文件夹、合并标准和常规文件夹,最后将电子邮件和 Outlook 项目添加到 PST 文件。

Aspose.Email 是用于轻松的开发 email 功能的应用程序的一组控件,基于  ASP.NET 的Web应用、Web服务和Windows 应用。支持 Outlook PST, EML, MSG, and MHT 格式. 允许开发者直接与 SMTP, POP, FTP, 和 MS Exchange 服务器进行工作。支持邮件合并、行事历、定制邮件标题和内容、嵌入文件等,Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.Email 最新下载

用于创建和填充 PST 文件的 C# API

为了在 C# 中处理 PST 格式的存储文件,我们将使用Aspose.Email for .NET。这个全面的库是专为 .NET 开发人员设计的,提供处理电子邮件相关数据的强大工具。借助其直观的 API,开发人员可以轻松创建、读取和操作 PST 存储结构,包括添加文件夹、子文件夹和标准 Outlook 文件夹。该库通过提供解析、创建、发送、接收和转换各种格式(如 MSG、EML 和 MHTML)的电子邮件的功能,简化了电子邮件消息处理。Aspose.Email 使开发人员能够在其 .NET 应用程序中有效地管理与电子邮件相关的任务,增强功能和性能,同时为最终用户提供卓越的电子邮件处理功能。

为了利用 API 的强大功能,您可以下载其 DLL 或使用以下命令从NuGet安装它:

在 C# 中创建 PST 文件

PM> Install-Package Aspose.Email
创建最小空 PST 存储

首先,让我们创建一个空的个人存储。这涉及初始化一个没有任何项目的 PST 文件。下面的代码示例将向您展示如何为名为“sample.pst”的新文件设置基本结构,该文件具有 Unicode 文件格式版本。要创建新的 PST 文件,请使用 PersonalStorage.Create方法。

// Initialize the PersonalStorage instance
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Add your code for further operations
}

注意:最小 pst 为 256 Kb,包含一个根文件夹和一个已删除邮件文件夹。

添加文件夹和子文件夹

一旦我们有了空的 PST 存储,下一步就是添加文件夹和子文件夹以有效地组织我们的数据。请考虑以下小节并尝试以下代码示例来执行任务。

添加标准文件夹

使用 Aspose.Email 可以轻松添加收件箱、发件箱、已发送邮件、草稿等标准文件夹。以下代码示例演示了如何在名为“sample.pst”的 PST 中创建一个名为“收件箱”的新文件夹。该代码使用PersonalStorage类打开 PST 文件,然后调用CreatePredefinedFolder()方法为入站项目创建标准文件夹。该文件夹是使用预定义文件夹类型StandardIpmFolder.inbox创建的,通常代表电子邮件客户端中的收件箱文件夹。

  1. 初始化一个新的PersonalStorage对象。
  2. 使用PersonalStorage实例 (pst)的CreatePredefinedFolder方法创建一个名为“Inbox”的标准文件夹,并指定文件夹类型StandardIpmFolder.Inbox以表明它是一个收件箱文件夹。
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a standard folder (Inbox)
var inboxFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);
}

以下列表包含可添加到新 PST 文件的标准文件夹:

  • 收件箱
  • 发送的邮件
  • 日历
  • 联系方式
  • 杂志
  • 笔记
  • 任务
  • 同步问题
  • 垃圾邮件
  • RSS订阅

添加常规文件夹

除了标准文件夹外,用户还经常创建具有特定名称的自定义文件夹,以便更好地组织电子邮件。以下代码片段显示了如何将自定义文件夹添加到 PST 文件的根目录。

  1. 初始化一个新的PersonalStorage对象。
  2. 使用PersonalStorage实例的 RootFolder 属性的AddSubFolder方法创建自定义文件夹。
  3. 创建“自定义文件夹”后,您可以再次使用AddSubFolder方法在其中创建子文件夹。将子文件夹的所需名称作为参数提供给AddSubFolder方法。
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a custom folder
var someFolder = pst.RootFolder.AddSubFolder("SomeFolder");// Create a subfolder to the "Custom Folder"
var subFolder = customFolder.AddSubFolder("SubFolder");
}
添加电子邮件和 Outlook 项目

有了结构之后,我们现在可以用电子邮件和其他 Outlook 项目填充我们的 PST 文件。这涉及创建电子邮件、约会、联系人、任务等,并将它们添加到文件中的相应文件夹中。让我们考虑几个例子。

添加新电子邮件

下面的代码示例将向您展示如何将新电子邮件添加到 PST 文件中的“收件箱”文件夹。代码涉及以下步骤:

  1. 初始化一个新的PersonalStorage对象。
  2. 使用PersonalStorage实例的 RootFolder 属性上的GetSubFolder方法检索收件箱文件夹。
  3. 实例化一个新的MapiMessage对象。
  4. 使用inboxFolder 对象上的AddMessage方法将新创建的消息(消息)添加到收件箱文件夹。
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Access the folder to add items
var inboxFolder = pst.RootFolder.GetSubFolder("Inbox");// Create a new message
var message = new MapiMessage("from@example.com", "to@example.com", "Subject", "Body");// Add the message to the Inbox folder
inboxFolder.AddMessage(message);
}

添加 Outlook 项目

以下代码示例允许您将联系人添加到新的 PST 文件。它概述了创建新的个人存储文件、向其中添加标准联系人文件夹、从 VCF 文件加载联系人以及将联系人添加到联系人文件夹的过程。代码涉及以下步骤:

  1. 初始化一个新的PersonalStorage对象。
  2. 使用CreatePredefinedFolder方法创建一个标准文件夹,并指定文件夹类型StandardIpmFolder.Contacts来指示它是联系人文件夹。
  3. 使用MapiContact.FromVCard方法从 VCF 文件加载联系人。此方法创建一个表示联系人信息的MapiContact对象。
  4. 使用AddMapiMessageItem方法将加载的联系人添加到联系人文件夹。
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a standard folder (Contacts)
var contactsFolder = pst.CreatePredefinedFolder("My Contacts", StandardIpmFolder.Contacts);// Load a contact from vcf file
var contact = MapiContact.FromVCard("Contact.vcf");// Add the contact to the folder
contactsFolder.AddMapiMessageItem(contact);
}
总结

在本教程中,我们探讨了如何使用 C# .NET 和 Aspose.Email 库创建 PST 文件。从创建空的 PST 存储到添加文件夹、子文件夹和各种 Outlook 项目,该库提供了一套全面的 PST 文件操作功能。将这些功能集成到您的 C# .NET 应用程序中,使您能够有效地管理 Outlook 数据,从而增强软件解决方案的稳健性和多功能性。

除此之外,该库还提供了用于创建、提取、解析、转换和操作电子邮件的广泛功能,并提供全面的文档和代码示例,以简化集成过程,使开发人员可以轻松地在其 .NET 应用程序中实现与电子邮件相关的解决方案。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com