Você é um desenvolvedor C++ que deseja adicionar recursos de conversão de e-mail em seus aplicativos? Usando Aspose.Eml for C++ você pode converter o formato de arquivo EML para HTML. Depois disso, usando a API Aspose.Words for C++ , você pode exportar HTML para DOCX. Ambas as APIs estão no pacote Aspose.Total for C++ .
API C++ para converter EML em DOCX
- Abra o arquivo EML usando a referência de classe MailMessage
- Converta EML para HTML usando a função de membro Save
- Carregue o HTML usando a classe Document
- Salve o documento no formato DOCX usando o método Save e defina Docx como SaveFormat
Requisitos de conversão
Instale a partir da linha de comando como nuget install Aspose.Total.Cpp
ou via Package Manager Console do Visual Studio com Install-Package Aspose.Total.Cpp
.
Como alternativa, obtenha o instalador MSI offline ou as DLLs em um arquivo ZIP em downloads .
// load the EML file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.eml");
// save EML as a HTML
msg->Save(u"HtmlOutput.html", SaveOptions::get_DefaultHtml());
// load HTML with an instance of Document
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"HtmlOutput.html");
// call save method while passing Docx as save format
doc->Save(u"convertedFile.Docx");
Analisar arquivo EML via C++
Não só você pode converter seu EML para DOCX, mas também ler, manipular e analisar o documento EML. Você pode obter informações de assunto, endereço, corpo e destinatários do e-mail usando a classe MapiMessage da API Aspose.Eml for C++ . Por exemplo, você pode verificar um e-mail de remetente específico para a conversão usando a propriedade get_SenderEmlAddress().
// create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(dataDir + L"message.eml");
// get subject
System::Console::WriteLine(System::String(L"Subject:") + msg->get_Subject());
// get from address
System::Console::WriteLine(System::String(L"From:") + msg->get_SenderEmlAddress());
// get body
System::Console::WriteLine(System::String(L"Body") + msg->get_Body());
// get recipients information
System::Console::WriteLine(System::String(L"Recipient: ") + msg->get_Recipients());
API C++ para restringir a edição de formato de arquivo DOCX
Você também pode adicionar recursos de proteção de documentos em seu aplicativo enquanto exporta o documento de EML para DOCX. Adicionar proteção ao seu documento é um processo simples, pois tudo o que você precisa fazer é aplicar o método de proteção ao seu documento. Você pode definir o tipo de proteção como ReadOnly para restringir o usuário a editar o documento.
// create a new document and protect it with a password.
auto doc = System::MakeObject<Document>();
// apply Document Protection.
doc->Protect(ProtectionType::ReadOnly, u"password");
// save the document.
doc->Save(u"DocumentProtection.PasswordProtection.Docx");