DOCX JPG PDF XML PST
  Product Family
MSG

Converter PST para MSG em C++

Conversão de PST para MSG de alta performance usando a biblioteca C++ Email.

Como converter PST para MSG usando C++

Para converter PST para MSG, usaremos

Aspose.Email para C++

API que é rica em recursos, poderosa e fácil de usar para manipulação e conversão de documentos na plataforma C++. Você pode baixar a versão mais recente diretamente, basta abrir

NuGet

gerenciador de pacotes, procure por Aspose.Email.Cpp e instale. Você também pode usar o seguinte comando no Console do Gerenciador de Pacotes.

Comando

PM> Install-Package Aspose.Email.Cpp

Passos para converter PST para MSG via C++

Programadores C++ podem converter facilmente arquivos PST para MSG em apenas algumas linhas de código.

  • Carregue o arquivo PST com PersonalStorage::FromFile.
  • Chame o método SaveAs() com dois parâmetros.
  • Saída do arquivo MSG e FileFormat::Msg como parâmetros.
  • O arquivo MSG será salvo no caminho especificado.
  • Abra o arquivo MSG em um programa compatível.

Requisitos do Sistema

Antes de executar o código de conversão C++, verifique se você tem os pré‑requisitos a seguir.

  • Microsoft Windows ou um SO compatível com o ambiente de tempo de execução C++ para Windows 32‑bit, Windows 64‑bit e Linux 64‑bit.
  • DLL do Aspose.Email para C++ referenciada no seu projeto.
 

Converter PST para 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

    Outras Conversões Suportadas

    Você também pode converter PST em muitos outros formatos de arquivo, incluindo alguns listados abaixo.

    PST TO EML (Mensagens de e‑mail do Outlook)
    PST TO EMLX (Apple EMLX Format)
    PST TO HTML (Linguagem de Marcação de Hipertexto)
    PST TO ICS (iCalendar)
    PST TO MBOX (Mensagens de correio eletrônico)
    PST TO MHTML (Formato de Arquivo de Página Web)
    PST TO OFT (Modelos de Email do Outlook)
    PST TO OST (Arquivos de armazenamento offline)
    PST TO VCF (Formato de Cartão Virtual)