Конвертировать PST в MSG на C++
Высокопроизводительное преобразование PST в MSG с использованием библиотеки C++ Email.
Как конвертировать PST в MSG с помощью C++
Для конвертации PST в MSG мы будем использовать
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++ для Windows 32‑бит, Windows 64‑бит и Linux 64‑бит.
- DLL Aspose.Email для C++, указанная в вашем проекте.
Конвертировать PST в MSG - C++
// Load the Outlook PST file
System::SharedPtr<PersonalStorage> personalStorage = PersonalStorage::FromFile(dataDir + L"SampleContacts.pst");
// Get the Contacts folder
System::SharedPtr<FolderInfo> folderInfo = personalStorage->get_RootFolder()->GetSubFolder(L"Contacts");
// Loop through all the contacts in this folder
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))
{
// Get the contact information
System::SharedPtr<MapiMessage> mapi = personalStorage->ExtractMessage(messageInfo);
System::SharedPtr<MapiContact> contact = System::DynamicCast<Aspose::Email::Outlook::MapiContact>(mapi->ToMapiMessageItem());
// Save to disk in MSG format
if (contact->get_NameInfo()->get_DisplayName() != nullptr)
{
System::SharedPtr<MapiMessage> message = personalStorage->ExtractMessage(messageInfo);
// Get rid of illegal characters that cannot be used as a file name
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 to MSG Conversion Live Demos
Другие поддерживаемые конверсии
Вы также можете конвертировать PST во многие другие форматы файлов, включая перечисленные ниже.