
O Microsoft Outlook e outros clientes de e-mail populares usam EML(padrão MIME RFC 822) como um formato padrão. EML é a abreviação de correio eletrônico ou e-mail. Da mesma forma, é uma extensão de arquivo para uma mensagem de e-mail salva em um arquivo no protocolo Internet Message Format para mensagens de e-mail eletrônico. Os arquivos EML geralmente contêm texto ASCII simples para o corpo da mensagem principal, cabeçalhos e hiperlinks e anexos. No entanto, há uma ameaça associada ao formato EML: ele pode ser um e-mail de phishing e o anexo pode: Infectar sua máquina com malware se você abrir o anexo.
Além disso, se salvarmos uma cópia offline desses arquivos, o malware pode facilmente afetá-los e os dados podem ser perdidos. Além disso, para abrir arquivos EML, precisamos de um aplicativo suportado (Microsoft Outlook 365, Microsoft Windows Mail, Mozilla Thunderbird, etc.).Então, uma medida preventiva pode ser sua conversão para o formato MHT.
API de processamento de e-mail grátis
Aspose.Email Cloud é nossa premiada API que oferece os recursos para criar, manipular e transformar formatos populares de e-mail em outros formatos suportados. Então crie sua própria solução de gerenciamento de e-mail baseada em nuvem com suporte a OAuth e envie mensagens de e-mail simples ou MIME com ou sem anexos. Acesse a API em qualquer plataforma, incluindo Windows, Linux, macOS e em qualquer tipo de aplicativo, ou seja, Desktop, Mobile, Web, híbrido, etc.
Para usar diretamente a API dentro de uma linguagem de programação, tente usar nosso Cloud SDK específico para a linguagem, que é um wrapper em torno do Cloud SDK. Neste artigo, vamos nos concentrar na conversão de arquivos EML para o formato MHT usando Aspose.Email Cloud SDK para .NET. Para usar o SDK, você precisa ter um dos frameworks .NET suportados (ou compatíveis com os suportados):
- .NETFramework 2.0
- .NETFramework 4.5.2
- .NETPadrão 2.0
- MonoAndroid 6.0
- Xamarin.iOS 1.0
- Xamarin.Mac 2.0
Instalação
Para usar o Cloud SDK, o primeiro passo é sua instalação. Ele está disponível para download em NuGet e GitHub. Execute o seguinte comando na janela do terminal para realizar a instalação do NuGet:
nuget install Aspose.Email-Cloud
Ao usar o .NET CLI:
dotnet add package Aspose.Email-Cloud
Se você estiver usando o Visual Studio, o pacote também pode ser instalado usando o Package Manager Console. Execute o seguinte comando:
PM> Install-Package Aspose.Email-Cloud

Image 1:- Aspose.Words NuGet package installed.
Gerenciador de Pacotes NuGet – Visual Studio
Outra abordagem mais fácil é instalar o SDK por meio do Gerenciador de Pacotes NuGet no Visual Studio IDE.
- Abra o Solution Explorer.
- Expanda o projeto e clique com o botão direito do mouse na pasta Pacotes dentro da sua solução.
- Selecione a opção Gerenciar pacotes NuGet…
- Clique na aba Navegar e procure por “Aspose.Email-Cloud“
- Clique no pacote Aspose.Email-Cloud, selecione a versão apropriada na aba direita e clique no botão Adicionar pacote

Image 2:- Aspose.Words Package in NuGet Package Manager.
Assinatura de conta na nuvem
Nossas APIs são acessíveis somente a pessoas autorizadas porque os dados armazenados no armazenamento em nuvem são acessíveis via APIs de nuvem. A assinatura é gratuita e não são necessários detalhes de pagamento inicial. Execute até 150 operações de processamento de documentos gratuitas. Então, quando estiver satisfeito com os recursos da API, você pode considerar optar por uma assinatura de licença que pode ser tão baixa quanto $ 0,005 / chamada de API. Para mais detalhes, visite Preços.
Agora prossiga com a criação da conta visitando Aspose.Cloud dashboard. Nenhum cartão de crédito ou outros detalhes de pagamento são necessários. Se você tem uma conta GitHub ou Google, basta se inscrever ou clicar no botão create a new account e fornecer as informações necessárias. Agora faça login no painel usando credenciais e expanda a seção Applications do painel e role para baixo em direção à seção Client Credentials para ver os detalhes do Client ID e do Client Secret.

Imagem 3:- Credenciais do cliente no painel do Aspose.Cloud.
EML para MHT em C#
Siga os passos abaixo para converter o arquivo EML para o formato MHT usando C# .NET.
- O primeiro passo é criar um objeto da classe EmailCloud passando os detalhes do ClientID e do Client Secret como argumentos
- Em segundo lugar, leia o arquivo de e-mail de origem para a instância File.OpenRead
- Em terceiro lugar, crie uma instância de EmailConvertRequest ao passar o formato do arquivo de entrada, o formato do arquivo resultante e o objeto de fluxo que contém o arquivo EML de entrada
- Agora chame o método Email.Convert(…) para iniciar a operação de conversão
- Por fim, chame o método personalizado para salvar o arquivo resultante na unidade local usando a instância File.Create
// Para exemplos completos e arquivos de dados, acesse
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet
// Obtenha credenciais do cliente em https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// crie uma instância da API EmailCloud
var emailApi = new EmailCloud(clientSecret, clientID);
// nome do arquivo EML de origem
string name = "sample.eml";
// nome do arquivo MHT resultante
string resultantFile = "converted.mht";
// formato do arquivo de entrada de e-mail
string fromFormat = "eml";
// formato do arquivo resultante
string toFormat = "Mhtml";
try
{
// leia o sourcec EML para transmitir objeto
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// criar instância de solicitação EmailConvert passando formatos de entrada, saída e fluxo de arquivo
var convertRequest = new EmailConvertRequest(fromFormat, toFormat, file);
// Executar a operação de conversão
var response = emailApi.Email.Convert(convertRequest);
// imprimir mensagem de sucesso se a conversão for bem-sucedida
if (response != null && response.Equals("OK"))
{
// imprimir a mensagem de sucesso
Console.WriteLine("Successfully converted EML to MHT !");
Console.ReadKey();
}
// salve o fluxo de arquivo resultante na unidade local
saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
}
}catch (Exception ex)
{
// imprima a exceção no console
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// método personalizado para salvar a saída na unidade do sistema
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}

Imagem 4:- Visualização da conversão de EML para MHT.
Os arquivos usados no exemplo acima podem ser baixados de sample.eml e converted.mht.
Convertendo EML para MHT usando cURL
Como Aspose.Email Cloud é desenvolvido de acordo com a arquitetura REST, ele pode ser acessado facilmente por meio de comandos cURL. Use o aplicativo de terminal/prompt de comando para acessar as APIs. Portanto, o primeiro passo é gerar um token de acesso JWT com base nas credenciais do cliente especificadas no painel Aspose.Cloud. Execute o comando a seguir para gerar o token JWT.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Agora, vamos discutir as etapas de uso do comando cURL para converter arquivos .eml já disponíveis no armazenamento em nuvem para o formato MHTML. A saída é salva no sistema usando o parâmetro -o.
curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o resultant.mht
Caso você precise realizar a conversão do arquivo .eml a ser carregado da unidade local, tente usar o seguinte comando cURL:
curl -X PUT "https://api.aspose.cloud/v4.0/email/convert?fromFormat=Eml&toFormat=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d @sample.eml \
-o converted.mht
Conclusão
Neste artigo, destacamos os recursos do Aspose.Email Cloud para processamento de formatos de e-mail populares. A API permite que você crie aplicativos de manipulação de e-mail para aplicar sinalizadores vermelhos a mensagens de e-mail, aplicar anexos de e-mail, bem como baixar anexos de e-mail e muito mais. Discutimos as etapas sobre como executar a conversão de arquivos EML para MHT usando C# .NET e os comandos cURL. Além disso, o .NET Cloud SDK é desenvolvido de acordo com a licença MIT. Baixe e personalize-os totalmente grátis. O código-fonte completo está disponível no GitHub.
Também fornecemos uma visão swagger de APIs de nuvem para que você possa testar as APIs em um navegador da web. Além disso, se você encontrar algum problema ou tiver alguma dúvida, sinta-se à vontade para entrar em contato conosco por meio do fórum de suporte ao cliente gratuito.
Artigos relacionados
Recomendamos também que você visite os seguintes links para saber mais sobre: