Trabalhando com Propriedades de Proteção por Senha do PST

Trabalhando com Propriedades de Proteção por Senha do PST

O Microsoft Outlook permite que os usuários protejam arquivos PST com senha para restringir o acesso a eles. Aspose.Email pode detectar a proteção por senha em um arquivo PST. Este artigo mostra como:

  • Remover/Redefinir a propriedade de Senha do PST
  • Definir/Alterar a Senha do PST

Removendo/Redefinindo a Propriedade PR_PST_PASSWORD

A remoção da propriedade PR_PST_PASSWORD não pode ser realizada como outras propriedades são removidas de um armazenamento de mensagens. Em vez disso, precisamos definir seu valor como zero (0) para que ela seja removida. A propriedade “Store” da classe PST permite acessar as propriedades de armazenamento do PST em vez das MessageStoreProperties do PST neste caso. O seguinte trecho de código mostra como remover/redefinir a propriedade PR_PST_PASSWORD.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
System::String dataDir = RunExamples::GetDataDir_Outlook();
System::SharedPtr<PersonalStorage> personalStorage = PersonalStorage::FromFile(dataDir + L"PersonalStorage1.pst");
if (personalStorage->get_Store()->get_Properties()->Contains(MapiPropertyTag::PR_PST_PASSWORD))
{
System::SharedPtr<MapiProperty> property = System::MakeObject<MapiProperty>(MapiPropertyTag::PR_PST_PASSWORD, System::BitConverter::GetBytes((int64_t)0));
personalStorage->get_Store()->SetProperty(property);
}

Definindo a Senha em Arquivos PST

O seguinte trecho de código mostra como definir a senha em arquivos PST.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
System::String dataDir = RunExamples::GetDataDir_Outlook();
System::String alreadyCreated = dataDir + L"SetPasswordOnPST_out.pst";
if (System::IO::File::Exists(alreadyCreated))
{
System::IO::File::Delete(alreadyCreated);
}
else { }
{
System::SharedPtr<PersonalStorage> pst = PersonalStorage::Create(dataDir + L"SetPasswordOnPST_out.pst", Aspose::Email::Outlook::Pst::FileFormatVersion::Unicode);
// Set the password
const System::String password = L"Password1";
pst->get_Store()->ChangePassword(password);
// Remove the password
pst->get_Store()->ChangePassword(nullptr);
}