Create PST Files in C#

Các tệp PST (Personal Storage Table) là một thành phần quan trọng để quản lý dữ liệu Outlook, tạo điều kiện lưu trữ cho email, danh bạ, lịch và các mục khác. Trong lĩnh vực phát triển C# .NET, quá trình tạo và quản lý các tệp lưu trữ là rất quan trọng cho nhiều ứng dụng.

Trong bài viết này, chúng ta sẽ khám phá cách tạo các tệp PST bằng cách sử dụng C# .NET. Chúng tôi sẽ đề cập đến việc tạo kho lưu trữ PST trống, thêm thư mục và thư mục con, tích hợp các thư mục tiêu chuẩn và thông thường, và cuối cùng, thêm email và các mục Outlook vào tệp PST.

API C# để Tạo và Điền các tệp PST

Để làm việc với các tệp lưu trữ ở định dạng PST trong C#, chúng tôi sẽ sử dụng Aspose.Email for .NET. Thư viện toàn diện này được thiết kế cho các nhà phát triển .NET, cung cấp các công cụ mạnh mẽ để xử lý dữ liệu liên quan đến email. Với các API trực quan của nó, các nhà phát triển có thể dễ dàng tạo, đọc và thao tác các cấu trúc lưu trữ PST, bao gồm thêm thư mục, thư mục con và các thư mục Outlook tiêu chuẩn. Thư viện đơn giản hóa việc xử lý tin nhắn email bằng cách cung cấp các chức năng để phân tích, tạo, gửi, nhận và chuyển đổi email giữa các định dạng khác nhau như MSG, EML và MHTML. Aspose.Email giúp các nhà phát triển quản lý hiệu quả các tác vụ liên quan đến email trong các ứng dụng .NET của họ, nâng cao chức năng và hiệu suất đồng thời cung cấp khả năng xử lý email vượt trội cho người dùng cuối.

Để tận dụng sức mạnh của API, bạn có thể tải xuống DLL của nó hoặc cài đặt từ NuGet bằng cách sử dụng lệnh sau:

PM> Install-Package Aspose.Email

Tạo kho lưu trữ PST trống tối thiểu

Để bắt đầu, hãy tạo một kho lưu trữ cá nhân trống. Điều này liên quan đến việc khởi tạo một tệp PST mà không có bất kỳ mục nào. Mẫu mã dưới đây sẽ cho bạn thấy cách thiết lập cấu trúc cơ bản cho một tệp mới có tên “sample.pst” với phiên bản định dạng tệp Unicode. Để tạo một tệp PST mới, hãy sử dụng phương thức 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

Lưu ý: kích thước tối thiểu của PST là 256 Kb và bao gồm một thư mục gốc và một thư mục các mục đã xóa.

Thêm thư mục và thư mục con

Khi chúng ta đã có kho lưu trữ PST trống, bước tiếp theo là thêm thư mục và thư mục con để tổ chức dữ liệu của chúng ta một cách hiệu quả. Hãy xem xét các phần phụ sau đây và thử các mẫu mã sau để thực hiện nhiệm vụ.

Thêm thư mục tiêu chuẩn

Việc thêm các thư mục tiêu chuẩn như Hộp thư đến, Hộp thư đi, Mục đã gửi, Bản nháp, v.v. rất đơn giản với Aspose.Email. Mẫu mã dưới đây minh họa cách tạo một thư mục mới có tên “Hộp thư đến” trong một tệp PST có tên “sample.pst”. Mã sử dụng lớp PersonalStorage để mở tệp PST và sau đó gọi phương thức CreatePredefinedFolder() để tạo một thư mục tiêu chuẩn cho các mục đến. Thư mục được tạo bằng cách sử dụng loại thư mục đã định nghĩa trước StandardIpmFolder.inbox, thường đại diện cho thư mục Hộp thư đến trong các ứng dụng email.

  1. Khởi tạo một đối tượng PersonalStorage mới.
  2. Sử dụng phương thức CreatePredefinedFolder của phiên bản PersonalStorage (pst) để tạo một thư mục tiêu chuẩn có tên “Hộp thư đến” chỉ định loại thư mục StandardIpmFolder.Inbox để chỉ ra rằng đó là một thư mục Hộp thư đến.
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a standard folder (Inbox)
var inboxFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);
}

Danh sách sau đây gồm các thư mục tiêu chuẩn có thể được thêm vào một tệp PST mới:

  • Hộp thư đến
  • Mục đã gửi
  • Lịch
  • Danh bạ
  • Nhật ký
  • Ghi chú
  • Nhiệm vụ
  • Vấn đề đồng bộ
  • Email rác
  • RSS feeds

Thêm thư mục thông thường

Ngoài các thư mục tiêu chuẩn, người dùng thường tạo các thư mục tùy chỉnh với các tên cụ thể để tổ chức email của họ tốt hơn. Mẫu mã dưới đây cho thấy cách thêm một thư mục tùy chỉnh vào thư mục gốc của tệp PST.

  1. Khởi tạo một đối tượng PersonalStorage mới.
  2. Sử dụng phương thức AddSubFolder của thuộc tính RootFolder của phiên bản PersonalStorage để tạo một thư mục tùy chỉnh.

Sau khi tạo “Thư mục Tùy chỉnh”, bạn có thể sử dụng lại phương thức AddSubFolder để tạo các thư mục con bên trong nó. Cung cấp tên mong muốn cho thư mục con dưới dạng tham số cho phương thức 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");
}

Thêm email và các mục Outlook

Với cấu trúc đã có, chúng ta có thể bắt đầu điền tệp PST của mình bằng email và các mục Outlook khác. Điều này liên quan đến việc tạo email, cuộc hẹn, danh bạ, nhiệm vụ và nhiều hơn nữa, và thêm chúng vào các thư mục thích hợp trong tệp. Hãy xem xét một vài ví dụ.

Thêm email mới

Mẫu mã dưới đây sẽ cho bạn thấy cách thêm một tin nhắn email mới vào thư mục “Hộp thư đến” trong tệp PST. Mã liên quan đến các bước sau:

  1. Khởi tạo một đối tượng PersonalStorage mới.
  2. Lấy thư mục Hộp thư đến bằng cách sử dụng phương thức GetSubFolder trên thuộc tính RootFolder của phiên bản PersonalStorage.
  3. Tạo một đối tượng MapiMessage mới.
  4. Sử dụng phương thức AddMessage trên đối tượng inboxFolder để thêm tin nhắn mới tạo (message) vào thư mục Hộp thư đến.
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

Thêm các mục Outlook

Mẫu mã dưới đây cho phép bạn thêm một danh bạ vào một tệp PST mới như một ví dụ. Nó phác thảo quy trình tạo một tệp lưu trữ cá nhân mới, thêm một thư mục Danh bạ tiêu chuẩn vào đó, tải một danh bạ từ tệp VCF và thêm danh bạ vào thư mục Danh bạ. Mã liên quan đến các bước sau:

  1. Khởi tạo một đối tượng PersonalStorage mới.
  2. Sử dụng phương thức CreatePredefinedFolder để tạo một thư mục tiêu chuẩn chỉ định loại thư mục StandardIpmFolder.Contacts để chỉ ra rằng đó là một thư mục Danh bạ.
  3. Sử dụng phương thức MapiContact.FromVCard để tải một danh bạ từ tệp VCF. Phương thức này tạo ra một đối tượng MapiContact đại diện cho thông tin danh bạ.
  4. Sử dụng phương thức AddMapiMessageItem để thêm danh bạ đã tải vào thư mục Danh bạ.
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);
}

Kết luận

Trong hướng dẫn này, chúng ta đã khám phá cách tạo các tệp PST bằng cách sử dụng C# .NET với thư viện Aspose.Email. Từ việc tạo kho lưu trữ PST trống đến việc thêm thư mục, thư mục con và các mục Outlook khác nhau, thư viện cung cấp một bộ tính năng toàn diện cho việc thao tác các tệp PST. Việc tích hợp các chức năng này vào các ứng dụng C# .NET của bạn giúp bạn quản lý dữ liệu Outlook một cách hiệu quả, nâng cao độ bền và tính linh hoạt của các giải pháp phần mềm của bạn.

Ngoài ra, thư viện cung cấp một loạt các tính năng cho việc tạo, trích xuất, phân tích, chuyển đổi và thao tác email được hỗ trợ bởi tài liệu toàn diện và các ví dụ mã để đơn giản hóa quy trình tích hợp, giúp các nhà phát triển dễ dàng triển khai các giải pháp liên quan đến email trong các ứng dụng .NET của họ.

Cùng với API tiên tiến, bạn có thể nhận được quyền truy cập liên tục vào các tài nguyên miễn phí:

  • diễn đàn hỗ trợ - một cộng đồng lớn để nhận câu trả lời cho tất cả các câu hỏi của bạn
  • blog - thông tin vô giá về các tính năng cập nhật
  • tài liệu - hướng dẫn, ví dụ mã và các thực tiễn tốt nhất với quyền truy cập vào tài liệu API
  • các ứng dụng miễn phí để xem hoặc chuyển đổi, hợp nhất hoặc phân tích email, phân tích tiêu đề, thêm watermark và nhiều hơn nữa

Aspose.Email đảm bảo rằng các nhà phát triển có đầy đủ tài nguyên cần thiết để vượt qua mọi thách thức và tối đa hóa tiềm năng của API trong các ứng dụng của họ.

Xem thêm