Czytaj pliki PST programu MS Outlook w języku C# .NET

Plik folderów osobistych (.pst) to plik danych programu Outlook, który przechowuje wiadomości i inne elementy na komputerze. Jest to najczęstszy plik, w którym zapisywane są informacje w programie Outlook. Możesz eksportować, tworzyć kopie zapasowe, przywracać i zabezpieczać hasłem plik PST za pomocą samego programu Outlook. Niektórzy użytkownicy Outlooka lubią chronić swoje pliki PST hasłem, aby zapewnić możliwość szpiegowania do zera. Możliwe jest zabezpieczenie dowolnego pliku PST w Outlooku:

  1. Otwórz Outlooka i przejdź do Plik > Ustawienia konta > Ustawienia konta.
  2. W oknie Ustawienia konta wybierz plik PST, którego hasło chcesz ustawić. Następnie kliknij „Ustawienia”.
  3. W oknie „Plik danych programu Outlook” kliknij przycisk „Zmień hasło”.

W tym artykule dowiemy się, jak pracować z plikami pst chronionymi hasłem w języku C# .NET.

Jak to działa wewnętrznie?

Interesującą rzeczą dotyczącą chronionych hasłem plików PST programu Outlook jest to, że ochrona jest w rzeczywistości realizowana tylko w programie Outlook; strumienie danych nie są w ogóle szyfrowane. Umożliwia też użycie niektórych interfejsów API do resetowania hasła lub wyodrębniania wiadomości e-mail bez znajomości hasła za pomocą interfejsów API, takich jak Aspose.Email for .NET.

C# .NET API do pracy z plikami PST chronionymi hasłem

Aspose.Email for .NET to solidny interfejs API, który zapewnia szereg funkcji do implementacji aplikacji pocztowych. Umożliwia także odczytywanie i modyfikowanie plików pst i ost oraz innych formatów przechowywania poczty, takich jak MBOX, OLM. Możesz zainstalować bibliotekę przez NuGet lub pobierz jej bibliotekę DLL.

PM> Install-Package Aspose.Email

Odczyt plików PST chronionych hasłem

Za pomocą Aspose.Email możesz odczytywać pliki chronione hasłem, tak jak zwykłe niezabezpieczone pliki pst.

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

    }
}

Sprawdź, czy plik PST jest chroniony hasłem

Interfejs API udostępnia właściwość PersonalStorage.Store.IsPasswordProtected. Właściwość PersonalStorage.Store.IsPasswordProtected zwraca wartość „true”, jeśli plik PST jest chroniony hasłem, i wartość „false”, jeśli tak nie jest.

Aby sprawdzić, czy plik jest chroniony hasłem, wykonaj następujące kroki:

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

Sprawdź poprawność hasła w pliku PST chronionym hasłem

Metoda PersonalStorage.Store.IsPasswordValid() przyjmuje łańcuch znaków jako parametr i zwraca „true”, jeśli hasło jest poprawne, i „false”, jeśli jest nieprawidłowe.

Aby zweryfikować hasło, wykonaj następujące kroki:

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

Dodawanie, zmiana lub usuwanie hasła do plików PST

Metoda PersonalStorage.Store.ChangePassword() służy do dodawania, zmiany lub usuwania hasła.

Aby to zrobić, wykonaj następujące kroki:

using var pst = PersonalStorage.Create("SetPasswordOnPST_out.pst", FileFormatVersion.Unicode);
// Dodaj lub zmień hasło
const string password = "Password1";
pst.Store.ChangePassword(password);
// Usuń hasło
pst.Store.ChangePassword(null);

Uzyskaj bezpłatną licencję API

Możesz uzyskać darmową tymczasową licencję na korzystanie z Aspose.Email for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak zarządzać plikami chronionymi hasłem przy użyciu języka C#. Ponadto widziałeś, jak czytać informacje o folderach, czytać wiadomości e-mail i wyodrębniać elementy z pliku PST w języku C#. Poza tym możesz dowiedzieć się więcej o Aspose.Email for .NET za pomocą documentation. Możesz także dzielić się swoimi pytaniami lub zapytaniami na naszym forum.

Zobacz też