Create PST Files in C#

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 方法。

// Initialize the PersonalStorage instance
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Add your code for further operations
}
view raw CreatePst.cs hosted with ❤ by GitHub

注意:最小的 PST 文件大小為 256 Kb,並包含一個根資料夾和一個已刪除項目資料夾。

添加資料夾和子資料夾

一旦我們擁有空的 PST 存儲,下一步就是添加資料夾和子資料夾,以有效地組織我們的數據。考慮以下子部分,並嘗試以下代碼示例來執行此任務。

添加標準資料夾

使用 Aspose.Email 添加標準資料夾(如收件箱、發件箱、已發送項目、草稿等)非常簡單。以下代碼示例演示如何在名為 “sample.pst” 的 PST 中創建一個名為 “Inbox” 的新資料夾。該代碼使用 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 方法來創建一個自定義資料夾。

在創建 “自定義資料夾” 之後,您可以再次使用 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 文件中的 “Inbox” 資料夾。該代碼涉及以下步驟:

  1. 初始化一個新的 PersonalStorage 對象。
  2. 通過對 PersonalStorage 實例的 RootFolder 屬性使用 GetSubFolder 方法來檢索收件箱資料夾。
  3. 實例化一個新的 MapiMessage 對象。
  4. 使用 inboxFolder 對象的 AddMessage 方法將新創建的消息(message)添加到收件箱資料夾。
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);
}
view raw AddNewEmails.cs hosted with ❤ by GitHub

添加 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 應用程序中實現電子郵件相關解決方案。

除了先進的 API,您還可以持續獲得免費資源:

  • 支持論壇 - 一個龐大的社區,您可以在此獲得所有問題的答案
  • 博客 - 有關最新功能的寶貴信息
  • 文檔 - 教程、代碼示例和最佳實踐,以及 API 參考
  • 免費 應用程序 以查看或轉換、合併或解析電子郵件、分析標頭、添加水印等

Aspose.Email 確保開發者擁有所需的資源來應對任何挑戰,並最大化 API 在其應用程序中的潛力。

另請參見