
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 | |
} |
注意:最小的 PST 文件大小為 256 Kb,並包含一個根資料夾和一個已刪除項目資料夾。
添加資料夾和子資料夾
一旦我們擁有空的 PST 存儲,下一步就是添加資料夾和子資料夾,以有效地組織我們的數據。考慮以下子部分,並嘗試以下代碼示例來執行此任務。
添加標準資料夾
使用 Aspose.Email 添加標準資料夾(如收件箱、發件箱、已發送項目、草稿等)非常簡單。以下代碼示例演示如何在名為 “sample.pst” 的 PST 中創建一個名為 “Inbox” 的新資料夾。該代碼使用 PersonalStorage 類打開 PST 文件,然後調用 CreatePredefinedFolder() 方法以創建一個標準的入站項目資料夾。該資料夾是使用預定義資料夾類型 StandardIpmFolder.inbox 創建的,該類型通常代表電子郵件客戶端中的 收件箱 資料夾。
- 初始化一個新的 PersonalStorage 對象。
- 使用 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 文件的根目錄。
- 初始化一個新的 PersonalStorage 對象。
- 使用 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” 資料夾。該代碼涉及以下步驟:
- 初始化一個新的 PersonalStorage 對象。
- 通過對 PersonalStorage 實例的 RootFolder 屬性使用 GetSubFolder 方法來檢索收件箱資料夾。
- 實例化一個新的 MapiMessage 對象。
- 使用 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); | |
} |
添加 Outlook 項目
以下代碼示例讓您可以將聯絡人添加到新 PST 文件中作為示例。它概述了創建一個新的個人存儲文件、添加一個標準聯絡人資料夾、從 VCF 文件加載聯絡人以及將聯絡人添加到聯絡人資料夾的過程。該代碼涉及以下步驟:
- 初始化一個新的 PersonalStorage 對象。
- 使用 CreatePredefinedFolder 方法創建一個標準資料夾,指定資料夾類型 StandardIpmFolder.Contacts 以表明它是聯絡人資料夾。
- 使用 MapiContact.FromVCard 方法從 VCF 文件中加載聯絡人。該方法創建一個表示聯絡人信息的 MapiContact 對象。
- 使用 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 在其應用程序中的潛力。