Читайте PST-файли MS Outlook у C# .NET

Файл особистих папок (.pst) – це файл даних Outlook, у якому зберігаються ваші повідомлення та інші елементи на вашому комп’ютері. Це найпоширеніший файл, у якому зберігається інформація в Outlook. Ви можете експортувати, створювати резервні копії, відновлювати та захищати паролем файл PST за допомогою самого Outlook. Деякі користувачі Outlook люблять захищати свої файли PST паролем, щоб забезпечити можливість стеження до нуля. У Outlook можна захистити будь-який файл PST:

  1. Відкрийте Outlook і перейдіть до «Файл» > «Параметри облікового запису» > «Параметри облікового запису».
  2. У вікні «Параметри облікового запису» виберіть файл PST, пароль якого потрібно встановити. Потім натисніть Налаштування.
  3. У вікні файлу даних Outlook натисніть кнопку Змінити пароль.

У цій статті ми навчимося працювати із захищеними паролем pst-файлами в C# .NET.

Як це працює всередині?

Одна цікава річ щодо захищених паролем файлів Outlook PST полягає в тому, що захист фактично реалізований лише в Outlook; потоки даних взагалі не шифруються. І це дає змогу використовувати деякі API для скидання пароля або вилучення електронних листів, не знаючи пароля, за допомогою API, таких як Aspose.Email for .NET.

C# .NET API для роботи із захищеними паролем файлами PST

Aspose.Email for .NET — це надійний API, який надає низку функцій для реалізації програм електронної пошти. Крім того, він дозволяє читати та змінювати файли pst та ost та інші формати зберігання пошти, такі як MBOX, OLM. Ви можете встановити бібліотеку через NuGet або завантажити її DLL.

PM> Install-Package Aspose.Email

Читайте захищені паролем файли PST

За допомогою Aspose.Email ви можете читати захищені паролем файли так само, як і звичайні незахищені файли pst.

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

    }
}

Перевірте, чи файл PST захищено паролем

API надає властивість PersonalStorage.Store.IsPasswordProtected. Властивість PersonalStorage.Store.IsPasswordProtected повертає true, якщо файл PST захищено паролем, і false, якщо це не так.

Щоб перевірити, чи файл захищено паролем, виконайте такі дії:

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

Перевірте пароль у захищеному паролем PST

Метод PersonalStorage.Store.IsPasswordValid() приймає рядок пароля як параметр і повертає true, якщо пароль правильний, і false, якщо він неправильний.

Щоб підтвердити пароль, виконайте такі дії:

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

Додавання, зміна або видалення пароля для файлів PST

Метод PersonalStorage.Store.ChangePassword() використовується для додавання, зміни або видалення пароля.

Для цього виконайте такі дії:

  • Спочатку завантажте PST з файлу або потоку.
  • Потім викличте метод PersonalStorage.Store.ChangePassword. Щоб додати або змінити пароль, передайте рядок пароля як параметр, а щоб видалити пароль, передайте нульове значення.
using var pst = PersonalStorage.Create("SetPasswordOnPST_out.pst", FileFormatVersion.Unicode);
// Додайте або змініть пароль
const string password = "Password1";
pst.Store.ChangePassword(password);
// Видаліть пароль
pst.Store.ChangePassword(null);

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію на використання Aspose.Email for .NET без обмежень щодо оцінювання.

Висновок

У цій статті ви дізналися, як керувати захищеними паролем файлами за допомогою C#. Крім того, ви побачили, як читати інформацію про папку, читати електронні листи та видобувати елементи з файлу PST у C#. Крім того, ви можете дізнатися більше про Aspose.Email for .NET за допомогою документації. Також ви можете поділитися своїми запитаннями чи запитами на нашому форумі.

Дивись також