Lavorare con la protezione password dei PST

Lavorare con la protezione password dei PST

Microsoft Outlook consente agli utenti di proteggere i file PST con una password per limitarne l’accesso. Aspose.Email può rilevare la protezione con password su un file PST. La protezione con password è in realtà implementata solo in Outlook; i dati non sono affatto criptati. Ciò permette di utilizzare l’API per estrarre le email senza conoscere la password.

Leggi file PST protetti da password

È possibile leggere i file protetti da password come normali file pst non protetti.

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

    }
}

Verifica se PST è protetto da password

L’API fornisce il PersonalStorage.Store.IsPasswordProtected proprietà. Il PersonalStorage.Store.IsPasswordProtected la proprietà restituisce true se il file PST è protetto da password e false se non lo è.

Il seguente frammento di codice dimostra l’uso di PersonalStorage.Store.IsPasswordProtected proprietà.

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

Convalida password

Il PersonalStorage.Store.IsPasswordValid() il metodo prende la stringa password come parametro e restituisce true se la password è corretta e false se è errata.

Il seguente frammento di codice dimostra l’uso di PersonalStorage.Store.IsPasswordValid() metodo.

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

Aggiungi/Cambia/Rimuovi password

Il PersonalStorage.Store.ChangePassword il metodo è usato per aggiungere, cambiare o eliminare una password.

Per farlo, segui questi passaggi:

  • Carica PST da un file o da uno stream.
  • Chiama il PersonalStorage.Store.ChangePassword metodo. Per aggiungere o cambiare la password, passare una stringa password come parametro, e per rimuovere la password, passare valore 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);