
HTML — це широко використовуваний і легко доступний формат, який можна переглядати на багатьох платформах, веб-браузерах, включаючи настільні комп’ютери та мобільні пристрої. На відміну від цього, файли EML та MSG можуть вимагати спеціального програмного забезпечення або електронних клієнтів для перегляду, що може ускладнити їх доступ і перегляд з часом. Таким чином, конвертація файлів MSG або EML в HTML робить їх легшими для перегляду, особливо для одержувачів, які можуть не мати сумісних електронних клієнтів або програмного забезпечення.
Крім того, HTML-файли легше архівувати і вони залишаються в пошуковому, індексованому форматі.
У цій статті представлено алгоритм швидкої та легкої конвертації файлів MSG або EML в HTML-формат за допомогою C#, незалежно від основної мети. Наш надійний метод гарантує, що вміст електронного листа, включаючи вбудовані зображення, повністю зберігається без жодних втрат. Це забезпечує збереження цілісності електронного листа протягом усього процесу конвертації.
Стаття охоплює такі теми:
- C# API для конвертації файлів EML/MSG в HTML
- Конвертація файлів EML/MSG в HTML з окремим збереженням зображень
- Конвертація файлів EML/MSG в HTML з вбудованими зображеннями
- Збереження HTML з заголовком
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 має такий вигляд:

З нашим API ви можете вказати будь-який каталог на вашому пристрої та зберегти цільовий HTML-файл з зображеннями в окремій папці:

Використовуйте наступний приклад коду, щоб конвертувати електронне повідомлення у форматі MSG або EML в HTML-файл з зображеннями, які зберігаються в цільовому каталозі. Код виконує такі кроки:
- Спочатку вказує вихідні та цільові шляхи для вихідного файлу MSG/EML і HTML-файлу відповідно, а також цільовий каталог для ресурсів.
- Завантажує файл MSG або EML за допомогою методу MailMessage.Load.
- Створює об’єкт HtmlSaveOptions і встановлює властивість ResourceRenderingMode на SaveToFile.
- Визначає делегат для події SaveResourceHandler об’єкта HtmlSaveOptions.
- Створює цільовий каталог для ресурсів всередині делегата, якщо він ще не існує.
- Зберігає кожен ресурс у файл з ім’ям файлу всередині делегата на основі типу вмісту ресурсу.
- Викликає метод Save екземпляра MailMessage, передаючи ім’я цільового HTML-файлу та екземпляр HtmlSaveOptions для збереження електронного листа у HTML-форматі.
Конвертація файлів EML/MSG в HTML з вбудованими зображеннями
Іноді ви можете віддати перевагу конвертувати файли EML/MSG в HTML, зберігаючи вбудовані зображення всередині HTML.

Наступний фрагмент коду демонструє, як конвертувати файл MSG або EML в HTML-формат на C# і зберегти зображення всередині HTML. Код виконує такі кроки:
- Визначає вихідні та цільові шляхи для електронного файлу та HTML-виходу.
- Завантажує файл MSG або EML за допомогою методу MailMessage.Load.
- Створює новий екземпляр класу HtmlSaveOptions, який дозволяє вам налаштувати, як електронний лист зберігається як HTML.
- Налаштовує екземпляр HtmlSaveOptions для вбудовування ресурсів, включаючи зображення, безпосередньо в HTML.
- Викликає метод Save екземпляра MailMessage, передаючи ім’я цільового HTML-файлу та екземпляр HtmlSaveOptions для збереження електронного листа у HTML-форматі.
Збереження HTML з заголовком
Як варіант, ви можете зберегти HTML з заголовком. Наступний фрагмент коду демонструє, як зберегти HTML з заголовком на C#:
В результаті текстовий заголовок буде доданий до цільового HTML:

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