Trabalhando com Proteção de Senha de PST

Trabalhando com Proteção de Senha de PST

O Microsoft Outlook permite que os usuários protejam arquivos PST com uma senha para restringir o acesso a eles. O Aspose.Email pode detectar a proteção por senha em um arquivo PST. A proteção por senha é na verdade implementada apenas no Outlook; os dados não são criptografados. E isso possibilita usar a API para extrair e‑mails sem conhecer a senha.

Ler Arquivos PST Protegidos por Senha

Você pode ler arquivos protegidos por senha assim como arquivos PST normais sem proteção.

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

    }
}

Verificar se PST está Protegido por Senha

A API fornece o PersonalStorage.Store.IsPasswordProtected propriedade. O PersonalStorage.Store.IsPasswordProtected propriedade retorna true se o arquivo PST estiver protegido por senha e false caso contrário.

O trecho de código a seguir demonstra o uso de PersonalStorage.Store.IsPasswordProtected propriedade.

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

Validar Senha

O PersonalStorage.Store.IsPasswordValid() método recebe a string da senha como parâmetro e retorna true se a senha estiver correta e false se estiver incorreta.

O trecho de código a seguir demonstra o uso de PersonalStorage.Store.IsPasswordValid() método.

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

Adicionar/Alterar/Remover Senhas

O PersonalStorage.Store.ChangePassword método usado para adicionar, alterar ou excluir uma senha.

Para fazer isso, siga estas etapas:

  • Carregar PST a partir de um arquivo ou stream.
  • Chame o PersonalStorage.Store.ChangePassword método. Para adicionar ou alterar a senha, passe uma string de senha como parâmetro, e para remover a senha, passe o valor 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);