Converter e-mail para HTML usando C++

Nos dias de hoje, os e-mails estão entre os meios mais comuns de comunicação pela internet. Como desenvolvedores de software, você vê uma ampla variedade de requisitos de usuário e cenários de uso. Um desses requisitos pode ser que você queira incorporar o conteúdo de e-mail em páginas da web. Para esses casos, você precisaria converter os e-mails no formato HTML. Neste artigo, você aprenderá como converter e-mails MSG e EML para o formato HTML ou MHTML programaticamente usando C++.

API C++ para converter e-mails em HTML

Aspose.Email for C++ é uma biblioteca nativa de C++ para criar, manipular e enviar e-mails sem exigir a instalação do Microsoft Outlook. A API também oferece a capacidade de converter e-mails em diferentes formatos, incluindo HTML. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.

PM> Install-Package Aspose.Email.Cpp

Converter e-mail para HTML usando C++

Converter arquivos de e-mail para HTML é muito fácil com a API Aspose.Email for C++. Em apenas duas linhas de código, você pode converter um arquivo de e-mail para o formato HTML. A seguir estão as etapas para converter um arquivo de email para o formato HTML usando C++.

Veja a seguir o código de exemplo para converter arquivos de e-mail para o formato HTML.

// Carregar arquivo de e-mail
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// Converter e-mail em HTML
msg->Save(u"OutputDirectory\\EmailToHtml.html", Aspose::Email::SaveOptions::get_DefaultHtml());

Convertendo e-mail para MHTML usando C++

Semelhante à conversão de um email para HTML, você pode converter um arquivo de email para o formato MHTML passando Aspose::Email::SaveOptions::getDefaultMhtml() como o segundo parâmetro do MailMessage->Save (System: :String fileName, System::SharedPtr opções) método. A seguir estão as etapas para converter um arquivo de email para o formato MHTML.

Veja a seguir o código de exemplo para converter arquivos de e-mail para o formato MHTML.

// Carregar arquivo de e-mail
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.eml");

// Converter e-mail para MHTML
msg->Save(u"OutputDirectory\\EmailToMhtml.mhtml", Aspose::Email::SaveOptions::get_DefaultMhtml());

Exportar e-mail para HTML com cabeçalho

Por padrão, o HTML gerado não inclui as informações do cabeçalho do email. Para exportar as informações do cabeçalho, você pode usar a classe HtmlSaveOptions. A seguir estão as etapas para converter arquivos de e-mail para o formato HTML com as informações de cabeçalho incluídas no HTML resultante.

Veja a seguir o código de exemplo para converter emails em HTML com informações de cabeçalho.

// Carregar arquivo de e-mail
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// Instanciar HtmlSaveOptions
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();

// Indica que as informações do cabeçalho devem ser gravadas.
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);

// Converter e-mail em HTML
msg->Save(u"OutputDirectory\\EmailToHTWithHeader.html", saveOptions);

Conversão de e-mail para HTML com fuso horário personalizado

Aspose.Email para C++ fornece a capacidade de converter emails especificando um fuso horário personalizado. O arquivo HTML resultante mostrará a hora no fuso horário selecionado. A seguir estão as etapas para converter arquivos de e-mail para o formato HTML com um fuso horário personalizado.

Veja a seguir o código de exemplo para converter arquivos de email para o formato HTML com um fuso horário personalizado usando C++.

// Carregar arquivo de e-mail
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// Defina a hora local para a data da mensagem.
msg->set_TimeZoneOffset(System::TimeZone::get_CurrentTimeZone()->GetUtcOffset(System::DateTime::get_Now()));

// Instanciar HtmlSaveOptions
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();

// Indica que as informações do cabeçalho devem ser gravadas.
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);

// Converter e-mail em HTML
msg->Save(u"OutputDirectory\\EmailToHTMLWithCustomTimezone.html", saveOptions);

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Demonstração ao vivo

Conclusão

Neste artigo, você aprendeu como converter arquivos MSG e EML para o formato HTML e MHTML usando C++. Você também viu como incluir informações de cabeçalho na saída HTML gerada. Além disso, você aprendeu a personalizar o fuso horário do e-mail. Aspose.Email para C++ fornece muitos outros recursos para trabalhar com arquivos de email. Você pode explorar a API em detalhes visitando a documentação oficial. Se você tiver alguma dúvida, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também