Конвертация электронной почты в HTML на C# .NET

HTML — это широко используемый и легко доступный формат, который можно просматривать на множестве платформ, веб-браузерах, включая настольные компьютеры и мобильные устройства. В отличие от этого, файлы EML и MSG могут требовать специального программного обеспечения или почтовых клиентов для просмотра, что со временем может сделать их менее доступными. Поэтому конвертация файлов MSG или EML в HTML облегчает их просмотр, особенно для получателей, у которых могут не быть совместимых почтовых клиентов или программного обеспечения.

Кроме того, HTML-файлы легче архивировать и они остаются в формате, который можно искать и индексировать.

В этой статье представлен алгоритм для быстрой и легкой конвертации файлов MSG или EML в HTML формат с использованием C#, независимо от основной цели. Наш надежный метод гарантирует, что содержимое электронной почты, включая встроенные изображения, полностью сохраняется без каких-либо потерь. Это обеспечивает сохранение целостности электронной почты на протяжении всего процесса конвертации.

Статья охватывает следующие темы:

C# API для конвертации файлов EML/MSG в HTML

Для конвертации файлов EML/MSG в HTML мы будем использовать Aspose.Email для .NET. Это API для обработки электронной почты, который позволяет вам манипулировать электронными письмами и работать с файловыми форматами популярных почтовых клиентов, таких как Thunderbird, Outlook и т. д. Вы можете скачать DLL API или установить его из NuGet, используя следующую команду:

PM> Install-Package Aspose.Email

Конвертация файлов EML/MSG в HTML с сохранением изображений отдельно

Типичный файл MSG имеет следующий вид:

Вид файла MSG

С помощью нашего API вы можете установить любую директорию на вашем устройстве и сохранить целевой HTML-файл с изображениями в отдельной папке:

Вид HTML файла

Используйте следующий пример кода для конвертации сообщения электронной почты в формате MSG или EML в HTML-файл с изображениями, которые сохраняются в целевой директории. Код выполняет следующие шаги:

  1. Сначала указывает исходные и целевые пути для исходного файла MSG/EML и HTML-файла соответственно, а также целевую директорию для ресурсов.
  2. Загружает файл MSG или EML с помощью метода MailMessage.Load.
  3. Создает объект HtmlSaveOptions и устанавливает свойство ResourceRenderingMode в SaveToFile.
  4. Определяет делегат для события SaveResourceHandler объекта HtmlSaveOptions.
  5. Создает целевую директорию для ресурсов внутри делегата, если она еще не существует.
  6. Сохраняет каждый ресурс в файл с именем внутри делегата на основе типа содержимого ресурса.
  7. Вызывает метод Save экземпляра MailMessage, передавая имя целевого HTML-файла и экземпляр HtmlSaveOptions для сохранения электронной почты в формате HTML.

Конвертация файлов EML/MSG в HTML с сохранением изображений внутри HTML

Иногда вам может потребоваться конвертировать файлы EML/MSG в HTML, сохраняя встроенные изображения внутри HTML.

Изображение внутри HTML в текстовом редакторе

Следующий фрагмент кода демонстрирует, как конвертировать файл MSG или EML в формат HTML на C# и сохранить изображения внутри HTML. Код выполняет следующие шаги:

  1. Определяет исходные и целевые пути для файла электронной почты и HTML-выхода.
  2. Загружает файл MSG или EML с помощью метода MailMessage.Load.
  3. Создает новый экземпляр класса HtmlSaveOptions, который позволяет вам настроить, как электронная почта сохраняется в формате HTML.
  4. Настраивает экземпляр HtmlSaveOptions для встраивания ресурсов, включая изображения, непосредственно в HTML.
  5. Вызывает метод Save экземпляра MailMessage, передавая имя целевого HTML-файла и экземпляр HtmlSaveOptions для сохранения электронной почты в формате HTML.

Сохранение HTML с заголовком

В качестве дополнительного варианта можно сохранить HTML с заголовком. Следующий фрагмент кода демонстрирует, как сохранить HTML с заголовком на C#:

В результате текстовый заголовок будет добавлен в целевой HTML:

Текстовый заголовок

Заключение

Подводя итог, из этой статьи вы узнали о удобстве формата HTML для архивирования и управления вашими файлами, а также о том, как выполнить конвертацию из EML или MSG на C# с использованием библиотеки Aspose.Email для .NET. Вы могли увидеть, насколько быстрым и простым является процесс конвертации всего лишь с несколькими строками кода. Если у вас есть какие-либо вопросы, не стесняйтесь писать на наш бесплатный форум поддержки. Вы также можете узнать больше о Aspose.Email для .NET, его функциях и возможностях из нашей документации.

См. также