借助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安装它:

复制代码
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 应用程序中实现与电子邮件相关的解决方案。

相关推荐
一个小白13 分钟前
C++——list模拟实现
开发语言·c++
bug总结3 分钟前
新学一个JavaScript 的 classList API
开发语言·javascript·ecmascript
Nicole Potter10 分钟前
请说明C#中的List是如何扩容的?
开发语言·面试·c#
五VV27 分钟前
Note25021902_TIA Portal V18 WinCC BCA Ed 需要.NET 3.5 SP1
.net
十八朵郁金香1 小时前
通俗易懂的DOM1级标准介绍
开发语言·前端·javascript
阿尔法波1 小时前
python与pycharm如何设置文件夹为源代码根目录
开发语言·python·pycharm
xing25161 小时前
pytest下allure
开发语言·python·pytest
眸笑丶1 小时前
使用 Python 调用 Ollama API 并调用 deepseek-r1:8b 模型
开发语言·python
enyp801 小时前
Qt QStackedWidget 总结
开发语言·qt
gu202 小时前
c#编程:学习Linq,重几个简单示例开始
开发语言·学习·c#·linq