Đọc tệp MS Outlook PST trong C# .NET

Tệp Thư mục Cá nhân (.pst) là tệp dữ liệu Outlook lưu trữ thư và các mục khác trên máy tính của bạn. Đây là tệp phổ biến nhất mà thông tin trong Outlook được lưu. Bạn có thể xuất, sao lưu, khôi phục và mật khẩu bảo vệ tệp PST bằng chính Outlook. Một số người dùng Outlook muốn bảo vệ mật khẩu tệp PST của họ để đảm bảo khả năng bị rình mò bằng không. Có thể bảo vệ bất kỳ tệp PST nào trong Outlook:

  1. Mở Outlook và đi tới `` Tệp ‘’> Cài đặt tài khoản '> Cài đặt tài khoản.
  2. Trong cửa sổ Cài đặt tài khoản, chọn tệp PST có mật khẩu bạn muốn đặt. Sau đó nhấp vào Cài đặt.
  3. Trong cửa sổ Tệp Dữ liệu Outlook, nhấp vào nút Thay đổi Mật khẩu.

Trong bài viết này, chúng ta sẽ tìm hiểu cách làm việc với các tệp pst được bảo vệ bằng mật khẩu trong C# .NET.

Nó hoạt động như thế nào trong nội bộ?

Một điều thú vị về các tệp Outlook PST được bảo vệ bằng mật khẩu là tính năng bảo vệ thực sự chỉ được triển khai trong Outlook; các luồng dữ liệu hoàn toàn không được mã hóa. Và nó giúp bạn có thể sử dụng một số API để đặt lại mật khẩu hoặc trích xuất email mà không cần biết mật khẩu với các API như Aspose.Email for .NET.

C# .NET API để làm việc với các tệp PST được bảo vệ bằng mật khẩu

Aspose.Email for .NET là một API mạnh mẽ cung cấp một loạt các tính năng để triển khai các ứng dụng email. Ngoài ra, nó cho phép đọc và sửa đổi các tệp pst và ost và các định dạng lưu trữ thư khác như MBOX, OLM. Bạn có thể cài đặt thư viện qua NuGet hoặc tải xuống DLL của nó.

PM> Install-Package Aspose.Email

Đọc tệp PST được bảo vệ bằng mật khẩu

Với Aspose.Email, bạn có thể đọc các tệp được bảo vệ bằng mật khẩu giống như các tệp pst không được bảo vệ thông thường.

using var pst = PersonalStorage.FromFile(fileName);
foreach (var folder in pst.RootFolder.GetSubFolders())
{
    foreach (var msg in folder.EnumerateMessages())
    {

    }
}

Kiểm tra xem tệp PST có được bảo vệ bằng mật khẩu không

API cung cấp thuộc tính PersonalStorage.Store.IsPasswordProtected. Thuộc tính PersonalStorage.Store.IsPasswordProtected trả về giá trị true nếu tệp PST được bảo vệ bằng mật khẩu và false nếu không.

Để kiểm tra xem tệp có được bảo vệ bằng mật khẩu hay không, hãy làm theo các bước sau:

using var pst = PersonalStorage.FromFile("passwordprotectedPST.pst");
Console.WriteLine($"The storage is password protected - {pst.Store.IsPasswordProtected}");

Xác thực mật khẩu trong PST được bảo vệ bằng mật khẩu

Phương thức PersonalStorage.Store.IsPasswordValid() lấy mật khẩu chuỗi làm tham số và trả về giá trị true nếu mật khẩu đúng và false nếu mật khẩu không chính xác.

Để xác thực mật khẩu, hãy làm theo các bước sau:

using var pst = PersonalStorage.FromFile("passwordprotectedPST.pst");
Console.WriteLine($"Password is valid - {pst.Store.IsPasswordValid("Password1")}");

Thêm, thay đổi hoặc xóa mật khẩu trên tệp PST

Phương thức PersonalStorage.Store.ChangePassword() được sử dụng để thêm, thay đổi hoặc xóa mật khẩu.

Để làm điều này, hãy làm theo các bước sau:

  • Đầu tiên, hãy tải PST từ một tệp hoặc một luồng.
  • Sau đó, hãy gọi phương thức PersonalStorage.Store.ChangePassword. Để thêm hoặc thay đổi mật khẩu, hãy chuyển một chuỗi mật khẩu làm tham số và để xóa mật khẩu, hãy chuyển giá trị null.
using var pst = PersonalStorage.Create("SetPasswordOnPST_out.pst", FileFormatVersion.Unicode);
// Thêm hoặc thay đổi mật khẩu
const string password = "Password1";
pst.Store.ChangePassword(password);
// Xóa mật khẩu
pst.Store.ChangePassword(null);

Nhận giấy phép API miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.Email for .NET mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách quản lý các tệp được bảo vệ bằng mật khẩu bằng C#. Hơn nữa, bạn đã thấy cách đọc thông tin thư mục, đọc email và trích xuất các mục từ tệp PST trong C#. Ngoài ra, bạn có thể khám phá thêm về Aspose.Email for .NET bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể chia sẻ câu hỏi hoặc thắc mắc của mình trên diễn đàn của chúng tôi.

Xem thêm