在 C# 中创建 PST 文件

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

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

C# API 来创建和填充 PST 文件

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

要利用该 API 的强大功能,您可以通过以下命令下载 DLL 或从 NuGet 安装:

PM> Install-Package Aspose.Email

创建最小空 PST 存储

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

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

添加文件夹和子文件夹

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

添加标准文件夹

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

  1. 初始化一个新的 PersonalStorage 对象。
  2. 使用 PersonalStorage 实例(pst)的 CreatePredefinedFolder 方法创建一个名为 “Inbox” 的标准文件夹,指定文件夹类型 StandardIpmFolder.Inbox 以指示它是一个收件箱文件夹。

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

  • 收件箱
  • 已发送项
  • 日历
  • 联系人
  • 日志
  • 笔记
  • 任务
  • 同步问题
  • 垃圾邮件
  • RSS 订阅

添加常规文件夹

除了标准文件夹,用户通常还会创建自定义文件夹以更好地组织他们的电子邮件。以下代码示例显示如何向 PST 文件的根目录添加自定义文件夹。

  1. 初始化一个新的 PersonalStorage 对象。
  2. 使用 AddSubFolder 方法在 PersonalStorage 实例的 RootFolder 属性中创建一个自定义文件夹。

创建 “自定义文件夹” 后,您可以再次使用 AddSubFolder 方法在其中创建子文件夹。将所需的子文件夹名称作为参数提供给 AddSubFolder 方法。

添加电子邮件和 Outlook 项目

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

添加新电子邮件

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

  1. 初始化一个新的 PersonalStorage 对象。
  2. 使用 GetSubFolder 方法从 PersonalStorage 实例的 RootFolder 属性获取 Inbox 文件夹。
  3. 实例化一个新的 MapiMessage 对象。
  4. 使用 inboxFolder 对象上的 AddMessage 方法将新创建的消息(message)添加到 Inbox 文件夹。

添加 Outlook 项目

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

  1. 初始化一个新的 PersonalStorage 对象。
  2. 使用 CreatePredefinedFolder 方法创建一个标准文件夹,指定文件夹类型 StandardIpmFolder.Contacts 以指示它是一个联系人文件夹。
  3. 使用 MapiContact.FromVCard 方法从 VCF 文件加载联系人。此方法创建一个表示联系人信息的 MapiContact 对象。
  4. 使用 AddMapiMessageItem 方法将加载的联系人添加到联系人文件夹。

结论

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

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

结合先进的 API,您可以持续访问免费的资源:

  • 支持论坛 - 一个庞大的社区,以获得所有问题的答案
  • 博客 - 关于最新功能的宝贵信息
  • 文档 - 教程、代码示例和最佳实践,访问 API 参考
  • 免费 应用,用于查看或转换、合并或解析电子邮件、分析标题、添加水印等

Aspose.Email 确保开发人员拥有应对任何挑战和最大化 API 在其应用程序中潜力所需的资源。

另见