DOCX JPG PDF XML PST
  Product Family
MSG

Конвертировать PST в MSG на C++

Высокопроизводительное преобразование PST в MSG с использованием библиотеки C++ Email.

Как конвертировать PST в MSG с помощью C++

Для конвертации PST в MSG мы будем использовать

Aspose.Email для C++

API, представляющее собой богатый функциями, мощный и простой в использовании интерфейс манипулирования и конвертации документов для платформы C++. Вы можете загрузить его последнюю версию напрямую, просто откройте

NuGet

Менеджер пакетов, найдите 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 во многие другие форматы файлов, включая перечисленные ниже.

    PST TO EML (Сообщения электронной почты Outlook)
    PST TO EMLX (Формат Apple EMLX)
    PST TO HTML (Hyper Text Markup Language)
    PST TO ICS (iCalendar)
    PST TO MBOX (Электронные сообщения)
    PST TO MHTML (Формат архива веб‑страницы)
    PST TO OFT (Шаблоны электронной почты Outlook)
    PST TO OST (Файлы Offline Storage)
    PST TO VCF (Формат виртуальной визитки)