Comparar formatos EML en C#
Comparación nativa y de alto rendimiento de mensajes EML usando las API de Aspose.Email para .NET del lado del servidor, sin necesidad de instalar Microsoft Office o PDF.
Cómo comparar un archivo EML usando C#
Para comparar un archivo EML, utilizaremos
API que es una API de manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma C#. Abre
administrador de paquetes, busque Aspose.Email e instale. También puede usar el siguiente comando desde la Consola del Administrador de Paquetes.
Comando
PM> Install-Package Aspose.Email
Pasos para comparar archivos EML en C#
Una comparación básica de mensajes con
Las APIs pueden implementarse con solo unas pocas líneas de código para comparar documentos de Outlook, Gmail, Apple Mail, Thunderbird y obtener la diferencia entre dos correos electrónicos.
- Cargar los dos archivos de correo para la comparación.
- Obtener el contenido del cuerpo para cada archivo de correo.
- Comparar usando el método GetMatrix.
- Enumerar las diferencias y establecer el contenido del cuerpo.
- Guardar el archivo.
Requisitos del sistema
Nuestras API son compatibles con todas las plataformas y sistemas operativos principales. Antes de ejecutar el código a continuación, asegúrese de que tiene los siguientes requisitos previos en su sistema.
- Microsoft Windows o un sistema operativo compatible con .NET Framework, .NET Core y plataformas Xamarin
- Entorno de desarrollo como Microsoft Visual Studio
- DLL Aspose.Email para .NET referenciada en su proyecto - Instale desde NuGet usando el botón Descargar arriba
Comparar archivos EML - C#
// fileName1 = eml first file to compare
// fileName2 = eml second file to compare
var email1 = MapiHelper.GetMapiMessageFromFile(Path.Combine(Config.Configuration.WorkingDirectory, folderName, fileName1));
var email2 = MapiHelper.GetMapiMessageFromFile(Path.Combine(Config.Configuration.WorkingDirectory, folderName, fileName2));
var body1 = email1.Body.Split(new string[] { " " }, StringSplitOptions.None).SelectMany(SplitOfNewLine).ToArray();
var body2 = email2.Body.Split(new string[] { " " }, StringSplitOptions.None).SelectMany(SplitOfNewLine).ToArray();
var lcsMatrix = GetMatrix(body1, body2, StringComparer.Ordinal);
var list = new List( LSTnode(string))();
ListDiffTreeFromBacktrackMatrix(list, lcsMatrix, body1, body2, StringComparer.Ordinal);
email2.SetBodyContent(BuildBodyDiff(list), Email.Mapi.BodyContentType.Html);
email2.Save(outPath);
Acerca de la API Aspose.Email para .NET
Aspose.Email es una solución de análisis de formatos de Microsoft Outlook y Thunderbird. Se pueden crear, manipular y convertir fácilmente formatos de correo y almacenamiento como MSG, EMLX, EML y MHT. El manejo de archivos adjuntos, la personalización de encabezados de mensajes y la implementación de diferentes protocolos de red como POP3, IMAP y SMTP para enviar y recibir correos electrónicos es mucho más sencillo. Es una API independiente y no requiere Microsoft Outlook ni la instalación de ningún otro software.Online EML Comparison Live Demos
EML What is EML File Format
El formato de archivo EML representa mensajes de correo electrónico guardados mediante Outlook y otras aplicaciones relevantes. Casi todos los clientes de correo electrónico admiten este formato de archivo por su cumplimiento con el estándar RFC‑822 de formato de mensajes de Internet. Microsoft Outlook es el software predeterminado para abrir tipos de mensajes EML. Los archivos EML pueden usarse para guardar en disco así como para enviarlos a los destinatarios mediante protocolos de comunicación.
Read MoreOtros formatos de comparación compatibles
Usando C#, también se pueden comparar muchos otros archivos de correo electrónico, incluyendo.