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
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
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.