Läs MS Outlook PST-filer i C# .NET

En Personal Folders File (.pst) är en Outlook-datafil som lagrar dina meddelanden och andra objekt på din dator. Detta är den vanligaste filen där information i Outlook sparas. Du kan exportera, säkerhetskopiera, återställa och lösenordsskydda en PST-fil med Outlook själv. Vissa Outlook-användare gillar att hålla sina PST-filer lösenordsskyddade för att säkerställa möjligheten att snoka till noll. Det är möjligt att skydda vilken PST-fil som helst i Outlook:

  1. Öppna Outlook och gå till “Arkiv” > “Kontoinställningar” > “Kontoinställningar”.
  2. I fönstret Kontoinställningar väljer du PST-filen vars lösenord du vill ställa in. Klicka sedan på “Inställningar”.
  3. I “Outlook Data File-fönstret”, klicka på knappen “Ändra lösenord”.

I den här artikeln kommer vi att lära oss hur man arbetar med lösenordsskyddade pst-filer i C# .NET.

Hur fungerar det internt?

En intressant sak med lösenordsskyddade Outlook PST-filer är att skyddet faktiskt bara implementeras i Outlook; dataströmmarna är inte alls krypterade. Och det gör det möjligt att använda något API för att återställa lösenordet eller extrahera e-postmeddelanden utan att veta lösenordet med API:er som Aspose.Email for .NET.

C# .NET API för att arbeta med lösenordsskyddade PST-filer

Aspose.Email for .NET är ett robust API som tillhandahåller en rad funktioner för att implementera e-postapplikationer. Det tillåter också att läsa och ändra pst- och ost-filer och andra e-postlagringsformat som MBOX, OLM. Du kan antingen installera biblioteket via NuGet eller ladda ner dess DLL.

PM> Install-Package Aspose.Email

Läs lösenordsskyddade PST-filer

Med Aspose.Email kan du läsa lösenordsskyddade filer precis som vanliga oskyddade pst-filer.

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

    }
}

Kontrollera om en PST-fil är lösenordsskyddad

API tillhandahåller egenskapen PersonalStorage.Store.IsPasswordProtected. Egenskapen PersonalStorage.Store.IsPasswordProtected returnerar “true” om PST-filen är lösenordsskyddad och “false” om den inte är det.

För att kontrollera om en fil är lösenordsskyddad, följ dessa steg:

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

Validera ett lösenord i lösenordsskyddad PST

Metoden PersonalStorage.Store.IsPasswordValid() tar stränglösenordet som en parameter och returnerar “true” om lösenordet är korrekt och “false” om det är felaktigt.

För att validera ett lösenord, följ dessa steg:

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

Lägga till, ändra eller ta bort lösenord på PST-filer

Metoden PersonalStorage.Store.ChangePassword() används för att lägga till, ändra eller ta bort ett lösenord.

För att göra detta, följ dessa steg:

  • Först, ladda PST från en fil eller en ström.
  • Anropa sedan metoden PersonalStorage.Store.ChangePassword. För att lägga till eller ändra lösenordet, skicka en lösenordssträng som en parameter, och för att ta bort lösenordet, skicka null-värdet.
using var pst = PersonalStorage.Create("SetPasswordOnPST_out.pst", FileFormatVersion.Unicode);
// Lägg till eller ändra lösenordet
const string password = "Password1";
pst.Store.ChangePassword(password);
// Ta bort lösenordet
pst.Store.ChangePassword(null);

Skaffa en gratis API-licens

Du kan få en gratis tillfällig licens för att använda Aspose.Email för .NET utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du hanterar lösenordsskyddade filer med C#. Dessutom har du sett hur man läser mappinformation, läser e-postmeddelanden och extraherar objekt från en PST-fil i C#. Dessutom kan du utforska mer om Aspose.Email for .NET med hjälp av dokumentation. Du kan också dela dina frågor eller frågor på vårt forum.

Se även