Práce s ochranou heslem PST

Práce s ochranou heslem PST

Microsoft Outlook umožňuje uživatelům chránit soubory PST heslem, aby omezili přístup k nim. Aspose.Email dokáže detekovat ochranu heslem v souboru PST. Ochrana heslem je ve skutečnosti implementována pouze v Outlooku; data nejsou vůbec šifrována. A to umožňuje použít API k extrakci e‑mailů bez známosti hesla.

Čtení PST souborů chráněných heslem

Můžete číst soubory chráněné heslem stejně jako běžné nechráněné pst soubory.

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

    }
}

Zkontrolovat, zda je PST chráněn heslem

API poskytuje PersonalStorage.Store.IsPasswordProtected vlastnost. Ta PersonalStorage.Store.IsPasswordProtected vlastnost vrací true, pokud je soubor PST chráněn heslem, a false, pokud není.

Následující úryvek kódu demonstruje použití PersonalStorage.Store.IsPasswordProtected vlastnost.

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

Ověřit heslo

The PersonalStorage.Store.IsPasswordValid() metoda přijímá řetězec hesla jako parametr a vrací true, pokud je heslo správné, a false, pokud je nesprávné.

Následující úryvek kódu demonstruje použití PersonalStorage.Store.IsPasswordValid() metoda.

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

Přidat/Změnit/Odebrat hesla

The PersonalStorage.Store.ChangePassword metoda se používá k přidání, změně nebo smazání hesla.

Pro provedení tohoto postupu postupujte podle následujících kroků:

  • Načtěte PST ze souboru nebo proudu.
  • Zavolejte PersonalStorage.Store.ChangePassword metoda. Pro přidání nebo změnu hesla předávejte jako parametr řetězec hesla a pro odstranění hesla předávejte hodnotu 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);