Create MIME messages using C#

При надсиланні електронного листа вам може знадобитися надіслати мультимедійний контент, такий як зображення, аудіо та відео. Саме тут на допомогу приходять MIME (Multipurpose Internet Mail Extensions) повідомлення. У цій статті ми розглянемо, як створити EML повідомлення програмно в C#. До кінця статті ви зрозумієте, як створити MIME-повідомлення, додати зображення до HTML-контенту електронного листа та зберегти електронний лист у форматі EML.

.NET API для створення MIME-повідомлень

Перед тим як створити своє перше MIME-повідомлення, перший крок - встановити Aspose.Email для .NET у вашому проекті. Це потужна бібліотека для розробників C#, яка надає комплексний набір інструментів для роботи з електронними повідомленнями, включаючи можливість програмно створювати MIME-повідомлення. Бібліотека допомагає розробникам легко маніпулювати різними аспектами MIME-повідомлень, такими як вкладення, тіло, заголовок, кодування тощо. Ви можете або встановити бібліотеку через NuGet, або завантажити її DLL.

PM> Install-Package Aspose.Email

Створення EML-файлу з нуля

Оскільки ваша API була встановлена, настав час створити свій перший eml з нуля. Один із найпростіших способів зробити це - використовувати клас MailMessage з Aspose.Email. Клас MailMessage дозволяє створити об’єкт електронного листа з різними властивостями та методами, які дозволяють вам встановити відправника, одержувачів, тему, тіло, вкладення, заголовки та інші деталі вашого електронного листа.

Наступні кроки та фрагмент коду допоможуть вам створити EML з нуля:

  • Створіть новий об’єкт MailMessage за допомогою конструктора за замовчуванням.
  • Встановіть властивості об’єкта MailMessage відповідно до ваших потреб.
  • Збережіть об’єкт MailMessage у файл EML за допомогою методу Save.

Метод Save класу MailMessage приймає два параметри: шлях до файлу та параметри збереження. Параметри збереження вказують формат вихідного файлу.

Додавання зображення до HTML-контенту

Щоб виконати цю функцію, вам потрібно вбудувати зображення в HTML-тіло. Ви можете використовувати тег “img” для цього.

Наступний фрагмент коду показує, як додати зображення до HTML-тіла повідомлення.

  • HTML-тіло містить тег зображення з атрибутом src встановленим на cid:image1.
  • Клас AlternateView використовується для отримання альтернативного вигляду тіла повідомлення, яке містить вбудоване зображення.
  • Клас LinkedResource використовується для представлення вбудованого зображення, і його ID контенту встановлюється на image1.
  • Нарешті, альтернативний вигляд додається до колекції альтернативних виглядів повідомлення.

Створення EML-файлу з HTML-файлу

Один зі способів зробити це - почати з HTML-файлу і конвертувати його в EML. Це може бути корисно, якщо у вас є HTML, який ви хочете надіслати як електронне повідомлення. Для цього спочатку нам потрібно мати HTML-контент. Давайте назвемо цей файл content.html. Ось приклад:

<!DOCTYPE html>
<html>
<head>
	<title>Мій електронний лист</title>
</head>
<body>
	<h1>Привіт,</h1>
	<img src="logo.png" alt="Логотип">
	<p>Це мій перший електронний лист, створений з HTML.</p>
</body>
</html>

Також ви повинні заздалегідь підготувати всі зображення, які містять HTML, і вказати правильний шлях до них у HTML-файлі.

Тепер ми можемо легко створити MailMessage, встановивши HTML-тіло з content.html.

  • По-перше, створіть новий об’єкт HtmlLoadOptions.
  • Встановіть рядок, що містить шлях до зображень у PathToResources.
  • Встановіть властивість ShouldAddPlainTextView на true, якщо EML має містити AlternateView з простим текстом.
  • Створіть об’єкт MailMessage завантаживши HTML-файл і передавши об’єкт HtmlLoadOptions як параметр.
  • Встановіть додаткові властивості повідомлення.
  • Нарешті, збережіть об’єкт MailMessage у файл EML за допомогою методу Save.

Поради для покращення вигляду HTML-повідомлення в Outlook

Щоб переглянути ваше HTML-повідомлення в Outlook, вам потрібно переконатися, що його код сумісний з рендеринговим движком Outlook, який відрізняється від більшості веб-браузерів. Деякі з поширених проблем, які можуть вплинути на ваш HTML-електронний лист в Outlook, включають:

  • Outlook не підтримує деякі зі своїх тегів та CSS-властивостей, таких як фонові зображення, плаваючі елементи, поля, відступи тощо. Вам може знадобитися використовувати вбудовані стилі, таблиці або умовні коментарі, щоб досягти бажаного макету та форматування.
  • Outlook може додавати додаткові пробіли або рядки між елементами або зовсім видаляти деякі елементи. Вам може знадобитися використовувати неперервні пробіли, пробіли нульової ширини або порожні клітинки таблиці, щоб запобігти цьому.
  • Outlook може змінити кодування або набір символів вашого HTML-файлу, що може призвести до неправильного відображення деяких символів. Вам може знадобитися вказати кодування та набір символів у ньому за допомогою мета-тегу.

Висновок

У цьому блозі ви дізналися, як програмно створювати MIME-повідомлення в C# за допомогою Aspose.Email. Покрокове керівництво та фрагменти коду показали, як створити EML-файл з нуля та з HTML-файлу, додати зображення до HTML-контенту електронного листа та підтримали все вищезазначене корисними порадами щодо покращення вигляду вашого HTML-повідомлення в Outlook.

  • Ви можете дізнатися більше про Aspose.Email для .NET та спробувати безкоштовно.
  • Ви також можете ознайомитися з додатковими функціями та функціональністю Aspose.Email у документації.
  • Ваші запитання вітаються на нашому форумі.

Дивіться також