Работа с защитой PST паролем

Работа с защитой PST паролем

Microsoft Outlook позволяет пользователям защищать файлы PST паролем, ограничивая доступ к ним. Aspose.Email может обнаруживать защиту паролем в файле PST. Защита паролем фактически реализована только в Outlook; данные вовсе не шифруются. Это позволяет использовать API для извлечения электронных писем без знания пароля.

Чтение файлов PST с паролем

Вы можете читать файлы, защищённые паролем, как обычные незащищённые файлы 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 свойства. The PersonalStorage.Store.IsPasswordProtected свойство возвращает true, если файл PST защищён паролем, и false, если нет.

Следующий фрагмент кода демонстрирует использование PersonalStorage.Store.IsPasswordProtected свойство.

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

Проверка пароля

Этот PersonalStorage.Store.IsPasswordValid() метод принимает строку пароля в качестве параметра и возвращает true, если пароль правильный, и false, если он неверный.

Следующий фрагмент кода демонстрирует использование PersonalStorage.Store.IsPasswordValid() метод.

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

Добавить/Изменить/Удалить пароли

Этот PersonalStorage.Store.ChangePassword метод используется для добавления, изменения или удаления пароля.

Для этого выполните следующие шаги:

  • Загрузить PST из файла или потока.
  • Вызвать PersonalStorage.Store.ChangePassword метод. Чтобы добавить или изменить пароль, передайте строку пароля как параметр, а чтобы удалить пароль, передайте значение null.
using var pst = PersonalStorage.Create("SetPasswordOnPST_out.pst", FileFormatVersion.Unicode);
// Add or change the password
const string password = "Password1";
pst.Store.ChangePassword(password);
// Remove the password
pst.Store.ChangePassword(null);