
Microsoft Outlook y otros clientes de correo electrónico populares utilizan EML(estándar MIME RFC 822) como formato estándar. EML es la abreviatura de correo electrónico o correo electrónico. De manera similar, es una extensión de archivo para un mensaje de correo electrónico guardado en un archivo en el protocolo de formato de mensajes de Internet para mensajes de correo electrónico. Los archivos EML generalmente contienen texto ASCII simple para el cuerpo principal del mensaje, encabezados e hipervínculos y archivos adjuntos. Sin embargo, existe una amenaza asociada con el formato EML: puede ser un correo electrónico de phishing y el archivo adjunto podría: Infectar su equipo con malware si abre el archivo adjunto.
Además, si guardamos una copia offline de estos archivos, el malware puede afectarlos fácilmente y perder datos. Además, para poder abrir archivos EML, necesitamos una aplicación compatible (Microsoft Outlook 365, Microsoft Windows Mail, Mozilla Thunderbird, etc.).Por lo que una medida preventiva puede ser su conversión al formato MHT.
- API de procesamiento de correo electrónico gratuito
- EML a MHT en C#
- Conversión de EML a MHT mediante cURL
API de procesamiento de correo electrónico gratuito
Aspose.Email Cloud es nuestra galardonada API que ofrece la posibilidad de crear, manipular y transformar formatos de correo electrónico populares en otros formatos compatibles. Cree su propia solución de gestión de correo electrónico basada en la nube compatible con OAuth y envíe mensajes de correo electrónico simples o MIME con o sin archivos adjuntos. Acceda a la API en cualquier plataforma, incluidas Windows, Linux, macOS y en cualquier tipo de aplicación, es decir, de escritorio, móvil, web, híbrida, etc.
Para utilizar directamente la API dentro de un lenguaje de programación, intente utilizar nuestro SDK de Cloud específico para lenguaje, que es un contenedor alrededor de Cloud SDK. En este artículo, nos centraremos en la conversión de archivos EML a formato MHT mediante Aspose.Email Cloud SDK para .NET. Para utilizar el SDK, debe tener uno de los marcos .NET compatibles (o compatibles con los compatibles):
- .NET Framework 2.0
- .NET Framework 4.5.2
- .NET Estándar 2.0
- MonoAndroid 6.0
- Xamarin.iOS 1.0
- Xamarin.Mac 2.0
Instalación
Para utilizar el SDK de Cloud, el primer paso es instalarlo. Está disponible para descargar en NuGet y GitHub. Ejecute el siguiente comando en la ventana de terminal para realizar la instalación de NuGet:
nuget install Aspose.Email-Cloud
Al utilizar la CLI de .NET:
dotnet add package Aspose.Email-Cloud
Si utiliza Visual Studio, el paquete también se puede instalar mediante la consola del administrador de paquetes. Ejecute el siguiente comando:
PM> Install-Package Aspose.Email-Cloud

Administrador de paquetes NuGet – Visual Studio
Otro enfoque más sencillo es instalar el SDK a través del Administrador de paquetes NuGet dentro de Visual Studio IDE.
- Abra el Explorador de soluciones.
- Expanda el proyecto y haga clic derecho en la carpeta Paquetes dentro de su solución.
- Seleccione la opción Administrar paquetes NuGet…
- Haga clic en la pestaña Explorar y busque “Aspose.Email-Cloud”
- Haga clic en el paquete Aspose.Email-Cloud, seleccione la versión adecuada en la pestaña derecha y haga clic en el botón Agregar paquete

Suscripción a cuenta en la nube
Nuestras API solo son accesibles para personas autorizadas, ya que los datos almacenados en el almacenamiento en la nube son accesibles a través de las API en la nube. La suscripción es gratuita y no se requieren detalles de pago por adelantado. Realice hasta 150 operaciones de procesamiento de documentos gratuitas. Por lo tanto, una vez que esté satisfecho con las capacidades de la API, puede considerar optar por una suscripción de licencia que puede costar tan solo $0.005 por llamada de API. Para obtener más detalles, visite Precios.
Ahora proceda a crear la cuenta visitando el panel de control de Aspose.Cloud. No se requiere tarjeta de crédito ni otros detalles de pago. Si tiene una cuenta de GitHub o Google, simplemente regístrese o haga clic en el botón crear una nueva cuenta y proporcione la información solicitada. Ahora inicie sesión en el panel de control con sus credenciales y expanda la sección Aplicaciones desde el panel de control y desplácese hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID de cliente y Secreto de cliente.

Imagen 3: Credenciales del cliente en el panel de Aspose.Cloud.
EML a MHT en C#
Siga los pasos que se indican a continuación para convertir el archivo EML al formato MHT utilizando C# .NET.
- El primer paso es crear un objeto de la clase EmailCloud pasando los detalles de ClientID y Client Secret como argumentos.
- En segundo lugar, lea el archivo de correo electrónico de origen en la instancia File.OpenRead
- En tercer lugar, cree una instancia de EmailConvertRequest mientras pasa el formato del archivo de entrada, el formato del archivo resultante y el objeto de flujo que contiene el archivo EML de entrada.
- Ahora llame al método Email.Convert(…) para iniciar la operación de conversión
- Finalmente, llame al método personalizado para guardar el archivo resultante en la unidad local usando la instancia File.Create
// Para obtener ejemplos completos y archivos de datos, visite
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet
// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// crear una instancia de EmailCloud Api
var emailApi = new EmailCloud(clientSecret, clientID);
// nombre del archivo EML de origen
string name = "sample.eml";
// nombre del archivo MHT resultante
string resultantFile = "converted.mht";
// formato del archivo de correo electrónico de entrada
string fromFormat = "eml";
// formato del archivo resultante
string toFormat = "Mhtml";
try
{
// Leer la fuente EML para transmitir el objeto
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// Cree una instancia de solicitud de EmailConvert pasando formatos de entrada y salida y flujo de archivos
var convertRequest = new EmailConvertRequest(fromFormat, toFormat, file);
// Realizar la operación de conversión
var response = emailApi.Email.Convert(convertRequest);
// Imprimir mensaje de éxito si la conversión es exitosa
if (response != null && response.Equals("OK"))
{
// imprimir el mensaje de éxito
Console.WriteLine("Successfully converted EML to MHT !");
Console.ReadKey();
}
// Guarde el flujo de archivos resultante en la unidad local
saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
}
}catch (Exception ex)
{
// Imprime la excepción en la consola
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// Método personalizado para guardar la salida en la unidad del sistema.
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}

Imagen 4: Vista previa de conversión de EML a MHT.
Los archivos utilizados en el ejemplo anterior se pueden descargar desde sample.eml y converted.mht.
Conversión de EML a MHT mediante cURL
Dado que Aspose.Email Cloud está desarrollado según la arquitectura REST, se puede acceder fácilmente a él mediante comandos cURL. Utilice la aplicación de terminal o el símbolo del sistema para acceder a las API. Por lo tanto, el primer paso es generar un token de acceso JWT basado en las credenciales del cliente especificadas en el panel de control de Aspose.Cloud. Ejecute el siguiente comando para generar el 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"
Ahora vamos a analizar los pasos para utilizar el comando cURL para convertir archivos .eml que ya están disponibles en el almacenamiento en la nube al formato MHTML. El resultado se guarda en el sistema mediante el 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
En caso de que necesite realizar la conversión del archivo .eml que se cargará desde la unidad local, intente utilizar el siguiente 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
Conclusión
En este artículo, hemos destacado las características de Aspose.Email Cloud para el procesamiento de formatos de correo electrónico populares. La API le permite crear aplicaciones de manipulación de correo electrónico para aplicar señales de alerta a los mensajes de correo electrónico, aplicar archivos adjuntos de correo electrónico, así como descargar archivos adjuntos de correo electrónico, y mucho más. Hemos analizado los pasos sobre cómo realizar la conversión de archivos EML a MHT utilizando C# .NET y los comandos cURL. Además, el SDK de .NET Cloud se desarrolló según la licencia MIT. Descárguelo y personalícelo de forma totalmente gratuita. El código fuente completo está disponible en GitHub.
También hemos proporcionado una vista panorámica de las API de Cloud para que puedas probarlas en un navegador web. Además, si tienes algún problema o alguna otra consulta, no dudes en contactarnos a través del foro de soporte al cliente gratuito.
Artículos relacionados
También recomendamos visitar los siguientes enlaces para conocer más sobre: