DOCX JPG PDF XML PST
  Product Family
MSG

Converter PST para MSG em C++

Conversão de PST para MSG de alto desempenho usando a biblioteca C++ Email.

Como converter PST para MSG usando C++

Para converter PST para MSG, usaremos

Aspose.Email para C++

API que é uma API de manipulação e conversão de documentos rica em recursos, poderosa e fácil de usar para a plataforma C++. Você pode baixar sua 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.

Command

PM> Install-Package Aspose.Email.Cpp

Etapas para converter PST para MSG via C++

Os programadores C++ podem facilmente converter 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.
  • Arquivo MSG de saída e FileFormat::Msg como parâmetros.
  • O arquivo MSG será salvo no caminho especificado.
  • Abra o arquivo MSG em um programa compatível.

Requisitos de sistema

Antes de executar o código de conversão C++, verifique se você possui os seguintes pré-requisitos.

  • Microsoft Windows ou um sistema operacional compatível com C++ Runtime Environment para Windows de 32 bits, Windows de 64 bits e Linux de 64 bits.
  • Aspose.Email para C++ DLL referenciado em 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");
        }
    }
} 
 
  • Demonstrações ao vivo de conversão de PST para MSG

    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 (Formato Apple EMLX)
    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 da página da Web)
    PST TO OFT (Modelos de e-mail do Outlook)
    PST TO OST (Arquivos de armazenamento off-line)
    PST TO VCF (Formato do cartão virtual)