Добавление изображения в текст письма в C#

В текст электронных писем в формате HTML вполне возможно добавлять изображения.

Сам процесс создания и отправки письма в HTML уже был рассмотрен ранее в статье «Отправка email в формате HTML средствами ASP.NET». Теперь в текст письма из примера из этой статьи добавим изображение, например, в формате JPEG.

Сам исходный код данного примера оставим без изменений за исключением текста письма. Для того чтобы поместить изображение добавим в него HTML тег img с указанием идентификатора содержимого MIME.

В результате создание письма будет выглядеть следующим образом:

Где src=”cid:imageId”, собственно, упомянутый идентификатор, а with и height, соответственно, ширина и высота изображения в тексте письма в пикселях.

Теперь необходимо поместить в письмо непосредственно само изображение.

Для этого вначале с помощью класса AlternateView зададим формат просмотра электронного письма.

Далее создаём внедрённый внешний ресурс из файла изображения, которое требуется поместить в текст письма. Для этого служит класс LinkedResource.

После этого присваиваем ему идентификатор содержимого и кодируем с помощью алгоритма Base64 для того чтобы данное изображение можно было поместить в электронное письмо.

На этом формирование внедрённого ресурса завершено. Теперь необходимо связать его с ранее уже заданным форматом просмотра.

После этого остаётся только связать формат просмотра с электронным письмом, и его можно будет отправлять.

Ниже, приведён пример отправки электронного письма, в тексте которого помещено изображение в формате JPEG.

В этой и предыдущих статьях (ссылки в конце статьи) были рассмотрены все основные вопросы, которые касаются реализации отправки электронной почты. Возможно, в будущем, я ещё вернусь к данной теме в рамках рассмотрения других задач либо более узких вопросов.

А, на данном этапе эта статья завершает цикл посвящённый отправке электронной почты в .Net Framework.

Ссылки на предыдущие статьи посвящённые отправке электронных писем средствами .NET Framework:

  1. Отправка email средствами ASP.NET;
  2. Отправка email в формате HTML средствами ASP.NET;
  3. Отправка email с вложением в C#.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *