Добавление изображения в электронное письмо при отправке из процесса
В этой статье представлен пример добавления изображения в электронное письмо. Изображение прикрепляется с использованием base64.
Выполните следующие действия.
1. Перейдите в системе в раздел Администрирование – Система – Настройки системы – Исходящая почта и в поле Формат данных в подписи для сообщений системы выберите HTML-подпись.
2. Изображение, которое вы хотите отправить, нужно конвертировать в base64. Для этого можно использовать данный ресурс. Загрузите изображение и выберите вариант кода для вставки data:image/png;base64 или <img src="...">.
3. В конвертере будет сформирована строка. Длина строки изменяется в зависимости от размера изображения.
4. Сформируйте код для отправки письма:
using System.Text.RegularExpressions; //подключить библиотеки
var emailSender = Locator.GetService<EmailSender>();
string cond = @"(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)"; //регулярное выражение символов в имени почты для проверки корректности
string email_letter = string.Format(@"{0}", email);
string theme = context.Theme;
string message = context.Message;
message += *вставляем сгенерированную строку формата Base64*; //вставлять в формате "<img src=\"data:image.......\"/>"
if (Regex.IsMatch(email, cond)) //проверка правильности email
{
var msg = new MailMessage("elma@elma.ru", email, theme, message);
msg.IsBodyHtml = true; //включение настройки html формата письма
try
{
emailSender.SendMessage(msg);
}
catch (Exception ex)
{
context.Exception = ex.Message;
}
}
else
{
context.Exception = "Указан некорректный Email";
}
На рисунке ниже представлено, как может выглядеть электронное письмо с добавленным изображением.