Leggi file PST di MS Outlook in C# .NET

Un file di cartelle personali (.pst) è un file di dati di Outlook che memorizza i tuoi messaggi e altri elementi sul tuo computer. Questo è il file più comune in cui vengono salvate le informazioni in Outlook. Puoi esportare, effettuare backup, ripristinare e proteggere con password un file PST utilizzando Outlook stesso. Alcuni utenti di Outlook preferiscono mantenere i propri file PST protetti da password per garantire che la possibilità di spionaggio sia pari a zero. È possibile proteggere qualsiasi file PST in Outlook:

  1. Apri Outlook e vai su File > Impostazioni account > Impostazioni account.
  2. Nella finestra Impostazioni account, seleziona il file PST di cui desideri impostare la password. Quindi fai clic su Impostazioni.
  3. Nella finestra File di dati di Outlook, fai clic sul pulsante Cambia password.

In questo articolo, impareremo come lavorare con file PST protetti da password in C# .NET.

Come funziona internamente?

Una cosa interessante sui file PST di Outlook protetti da password è che la protezione è in realtà implementata solo in Outlook; i flussi di dati non sono affatto criptati. E questo rende possibile utilizzare alcune API per ripristinare la password o estrarre email senza conoscere la password con API come Aspose.Email per .NET.

API C# .NET per lavorare con file PST protetti da password

Aspose.Email per .NET è un’API robusta che fornisce una gamma di funzionalità per implementare applicazioni email. Inoltre, consente di leggere e modificare file pst e ost e altri formati di archiviazione email come MBOX, OLM. Puoi installare la libreria tramite NuGet o scaricare il suo DLL.

PM> Install-Package Aspose.Email

Leggi file PST protetti da password

Con Aspose.Email puoi leggere file protetti da password proprio come file pst normali non protetti.

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

Controlla se un file PST è protetto da password

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

Per controllare se un file è protetto da password, segui questi passaggi:

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

Valida una password in PST protetto da password

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

Per validare una password, segui questi passaggi:

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

Aggiunta, modifica o rimozione della password sui file PST

Il metodo PersonalStorage.Store.ChangePassword() è utilizzato per aggiungere, modificare o eliminare una password.

Per fare ciò, segui questi passaggi:

  • Prima, carica il PST da un file o da uno stream.
  • Quindi chiama il metodo PersonalStorage.Store.ChangePassword. Per aggiungere o modificare la password, passa una stringa della password come parametro, e per rimuovere la password, passa un valore nullo.
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);

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per .NET senza limitazioni di valutazione.

Conclusione

In questo articolo hai imparato come gestire file protetti da password utilizzando C#. Inoltre, hai visto come leggere informazioni sulle cartelle, leggere email ed estrarre elementi da un file PST in C#. Inoltre, puoi esplorare di più su Aspose.Email per .NET utilizzando la documentazione. Puoi anche condividere le tue domande o richieste sul nostro forum.

Vedi anche