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); | |
} |