Работа с свойствами защиты паролем PST
Работа с свойствами защиты паролем PST
Microsoft Outlook позволяет пользователям защищать файлы PST паролем, чтобы ограничить к ним доступ. Aspose.Email может обнаружить защиту паролем в файле PST. В этой статье показано, как:
- Удалить/Сбросить свойство пароля из PST
- Установить/Изменить пароль PST
Удаление/Сброс свойства PR_PST_PASSWORD
Удалить свойство PR_PST_PASSWORD невозможно так же, как удаляются другие свойства из хранилища сообщений. Вместо этого нам нужно установить его значение в ноль (0), чтобы оно было удалено. Свойство “Store” класса PST позволяет получить доступ к свойствам хранилища PST, вместо свойств MessageStoreProperties PST в этом случае. Следующий фрагмент кода показывает, как удалить/сбросить свойство 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); | |
} |
Установка пароля для файлов PST
Следующий фрагмент кода показывает, как установить пароль для файлов 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); | |
} |