Сравнение форматов EML на C#
Нативное и высокопроизводительное сравнение сообщений EML с использованием серверных API Aspose.Email для .NET без необходимости установки Microsoft Office или PDF.
Как сравнить файл EML с помощью C#
Чтобы сравнить файл EML, мы будем использовать
API, представляющий собой богатый функциями, мощный и простой в использовании API манипулирования документами для платформы C#. Откройте
В менеджере пакетов найдите Aspose.Email и установите. Вы также можете использовать следующую команду в консоли Package Manager.
Команда
PM> Install-Package Aspose.Email
Шаги для сравнения файлов EML на C#
Базовое сравнение сообщений с помощью
С помощью API можно выполнить сравнение документов Outlook, Gmail, Apple Mail, Thunderbird всего за несколько строк кода и получить различия между двумя письмами.
- Загрузите два почтовых файла для сравнения.
- Получите содержимое тела для каждого почтового файла.
- Сравнение с использованием метода GetMatrix.
- Список различий и установка содержимого тела.
- Сохраните файл.
Системные требования
Наши API поддерживаются на всех основных платформах и операционных системах. Перед выполнением кода ниже убедитесь, что в вашей системе имеются следующие предварительные требования.
- Microsoft Windows или совместимая ОС с .NET Framework, .NET Core и Xamarin
- Среда разработки, например Microsoft Visual Studio
- DLL Aspose.Email for .NET, добавленная в ваш проект — установите из NuGet, используя кнопку «Download» выше
Сравнение файлов 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);
Об API Aspose.Email для .NET
Aspose.Email — это решение для разбора форматов Microsoft Outlook и Thunderbird. С его помощью можно легко создавать, изменять и конвертировать форматы электронной почты и хранилищ, такие как MSG, EMLX, EML и MHT. Обработка вложений, настройка заголовков сообщений и реализация различных сетевых протоколов, таких как POP3, IMAP и SMTP для отправки и получения писем, становятся гораздо проще. Это независимое API и не требует установки Microsoft Outlook или любого другого программного обеспечения.Online EML Comparison Live Demos
EML What is EML File Format
Формат файла EML представляет собой электронные сообщения, сохранённые с помощью Outlook и других соответствующих приложений. Практически все почтовые клиенты поддерживают этот формат файла благодаря его соответствию стандарту RFC‑822 Internet Message Format. Microsoft Outlook является программой по умолчанию для открытия сообщений типа EML. Файлы EML могут использоваться как для сохранения на диск, так и для отправки получателям по различным коммуникационным протоколам.
Read More