
HTML é um formato amplamente utilizado e facilmente acessível que pode ser visualizado por uma ampla gama de plataformas, navegadores da web, incluindo computadores de mesa e dispositivos móveis. Em contraste, arquivos EML e MSG podem exigir software ou clientes de e-mail específicos para serem visualizados, o que pode torná-los mais difíceis de acessar e visualizar ao longo do tempo. Portanto, converter arquivos MSG ou EML para HTML torna-os mais fáceis de visualizar, particularmente para destinatários que podem não ter clientes de e-mail ou software compatíveis.
Além disso, arquivos HTML são mais fáceis de arquivar e permanecem em um formato pesquisável e indexado.
Este artigo apresenta um algoritmo para converter rápida e facilmente arquivos MSG ou EML para o formato HTML usando C#, independentemente do propósito subjacente. Nosso método confiável garante que o conteúdo do e-mail, incluindo imagens incorporadas, seja totalmente preservado sem qualquer perda. Isso garante que a integridade do e-mail seja mantida durante todo o processo de conversão.
O artigo cobre os seguintes tópicos:
- API C# para converter arquivos EML/MSG para HTML
- Converter arquivos EML/MSG para HTML salvando imagens separadamente
- Converter arquivos EML/MSG para HTML salvando imagens dentro do HTML
- Salvando HTML com um cabeçalho
API C# para converter arquivos EML/MSG para HTML
Para a conversão de arquivos EML/MSG para HTML, vamos usar Aspose.Email for .NET. É uma API de processamento de e-mails que permite manipular e-mails e trabalhar com formatos de arquivo de clientes de e-mail populares, como Thunderbird, Outlook, etc. Você pode baixar a DLL da API ou instalá-la a partir do NuGet usando o seguinte comando:
PM> Install-Package Aspose.Email
Converter arquivos EML/MSG para HTML salvando imagens separadamente
Um arquivo MSG típico tem a seguinte visualização:

Com nossa API, você pode definir qualquer diretório em seu dispositivo e salvar o arquivo HTML de destino com imagens em uma pasta separada:

Use o seguinte exemplo de código para converter uma mensagem de e-mail no formato MSG ou EML para um arquivo HTML com imagens, que são salvas em um diretório de destino. O código realiza os seguintes passos:
- Primeiro, especifica os caminhos de origem e destino para o arquivo MSG/EML de origem e o arquivo HTML, respectivamente, assim como o diretório de destino para os recursos.
- Carrega o arquivo MSG ou EML usando o método MailMessage.Load.
- Cria um objeto HtmlSaveOptions e define a propriedade ResourceRenderingMode para SaveToFile.
- Define um delegate para o evento SaveResourceHandler de HtmlSaveOptions.
- Cria um diretório de destino para os recursos dentro do delegate se ele ainda não existir.
- Salva cada recurso em um arquivo com um nome de arquivo dentro do delegate com base no tipo de conteúdo do recurso.
- Chama o método Save da instância MailMessage, passando o nome do arquivo HTML de destino e a instância HtmlSaveOptions para salvar o e-mail em formato HTML.
Converter arquivos EML/MSG para HTML salvando imagens dentro do HTML
Às vezes, você pode preferir converter arquivos EML/MSG para HTML mantendo imagens incorporadas dentro do HTML.

O seguinte trecho de código demonstra como converter um arquivo MSG ou EML para o formato HTML em C# e salvar as imagens dentro do HTML. O código realiza os seguintes passos:
- Define os caminhos de origem e destino para o arquivo de e-mail e a saída HTML.
- Carrega o arquivo MSG ou EML usando o método MailMessage.Load.
- Cria uma nova instância da classe HtmlSaveOptions, que permite configurar como o e-mail é salvo como HTML.
- Configura a instância HtmlSaveOptions para incorporar os recursos, incluindo imagens, diretamente no HTML.
- Chama o método Save da instância MailMessage, passando o nome do arquivo HTML de destino e a instância HtmlSaveOptions para salvar o e-mail em formato HTML.
Salvando HTML com um cabeçalho
Como uma variante opcional, você pode salvar um HTML com um cabeçalho. O seguinte trecho de código demonstra como salvar um HTML com um cabeçalho em C#:
Como resultado, um cabeçalho de texto será adicionado ao HTML de destino:

Conclusão
Para resumir, neste artigo você aprendeu sobre a conveniência do formato HTML para arquivar e gerenciar seus arquivos e como executar a conversão de EML ou MSG em C# usando a biblioteca Aspose.Email for .NET. Você pode ver quão rápido e fácil é o processo de conversão apenas com algumas linhas de código. Caso você tenha alguma dúvida, sinta-se à vontade para escrever em nosso fórum de suporte gratuito. Você também pode aprender mais sobre Aspose.Email for .NET, suas características e facilidades em nossa documentação.