Конвертация PST в MSG на C++
Высокопроизводительная конвертация PST в MSG с использованием библиотеки C++ Email.
Как конвертировать PST в MSG с помощью C++
Для конвертации PST в MSG мы будем использовать
API, который является многофункциональным, мощным и простым в использовании API для манипуляции и конвертации документов для платформы C++. Вы можете скачать его последнюю версию напрямую, просто откройте
диспетчер пакетов, найдите Aspose.Email.Cpp и установите. Вы также можете использовать следующую команду из консоли диспетчера пакетов.
Команда
PM> Install-Package Aspose.Email.Cpp
Шаги для конвертации PST в MSG через C++
Программисты на C++ могут легко конвертировать файл PST в MSG всего за несколько строк кода.
- Загрузите файл PST с помощью PersonalStorage::FromFile.
- Вызовите метод SaveAs(), имеющий два параметра.
- Укажите выходной файл MSG и FileFormat::Msg в качестве параметров.
- Файл MSG будет сохранен по указанному пути.
- Откройте файл MSG в совместимой программе.
Системные требования
Перед запуском кода для конвертации на C++ убедитесь, что у вас есть следующие предварительные условия.
- Microsoft Windows или совместимая ОС с C++ Runtime Environment для Windows 32 бита, Windows 64 бита и Linux 64 бита.
- DLL Aspose.Email для C++ ссылается на ваш проект.
Конвертация PST в MSG - C++
// Загрузите файл PST Outlook
System::SharedPtr<PersonalStorage> personalStorage = PersonalStorage::FromFile(dataDir + L"SampleContacts.pst");
// Получите папку Контакты
System::SharedPtr<FolderInfo> folderInfo = personalStorage->get_RootFolder()->GetSubFolder(L"Contacts");
// Переберите все контакты в этой папке
System::SharedPtr<MessageInfoCollection> messageInfoCollection = folderInfo->GetContents();
{
auto messageInfo_enumerator = (messageInfoCollection)->GetEnumerator();
decltype(messageInfo_enumerator->get_Current()) messageInfo;
while (messageInfo_enumerator->MoveNext() && (messageInfo = messageInfo_enumerator->get_Current(), true))
{
// Получите информацию о контакте
System::SharedPtr<MapiMessage> mapi = personalStorage->ExtractMessage(messageInfo);
System::SharedPtr<MapiContact> contact = System::DynamicCast<Aspose::Email::Outlook::MapiContact>(mapi->ToMapiMessageItem());
// Сохраните на диск в формате MSG
if (contact->get_NameInfo()->get_DisplayName() != nullptr)
{
System::SharedPtr<MapiMessage> message = personalStorage->ExtractMessage(messageInfo);
// Избавьтесь от недопустимых символов, которые не могут быть использованы в качестве имени файла
System::String messageName = message->get_Subject().Replace(L":", L" ").Replace(L"\\", L" ").Replace(L"?", L" ").Replace(L"/", L" ");
message->Save(dataDir + L"Contacts\\" + messageName + L"_out.msg");
}
}
}
Прямые демонстрации конвертации PST в MSG
Другие поддерживаемые конверсии
Вы также можете конвертировать PST во множество других форматов файлов, включая несколько перечисленных ниже.