DOCX JPG PDF XML PST
  Product Family
MSG

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

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

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

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

Aspose.Email для C++

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

    PST В EML (Сообщения электронной почты Outlook)
    PST В EMLX (Формат Apple EMLX)
    PST В HTML (Язык разметки гипертекста)
    PST В ICS (iCalendar)
    PST В MBOX (Электронные письма)
    PST В MHTML (Формат архива веб-страниц)
    PST В OFT (Шаблоны электронной почты Outlook)
    PST В OST (Файлы офлайн хранения)
    PST В VCF (Формат виртуальной карты)