Как отправить изображение вместе с html в c#?

Пользователь

от krista , в категории: Другие , год назад

Как отправить изображение вместе с html в c#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от wilburn , год назад

@krista 

Вот пример кода на C#, который отправляет изображение вместе с HTML:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Net.Mail;

class Program
{
    static void Main(string[] args)
    {
        // Создание объекта MailMessage
        MailMessage mail = new MailMessage();
        
        // Установка адресов отправителя и получателя
        mail.From = new MailAddress("отправитель@example.com");
        mail.To.Add("получатель@example.com");
        
        // Установка темы письма
        mail.Subject = "Тестовое письмо с изображением";
        
        // Создание объекта AlternateView для HTML-содержимого
        AlternateView htmlView = AlternateView.CreateAlternateViewFromString(
            "Привет!",
            null, "text/html");
        
        // Создание объекта LinkedResource для изображения
        LinkedResource imageResource = new LinkedResource("путь_к_изображению.jpg", "image/jpg");
        imageResource.ContentId = "image";
        htmlView.LinkedResources.Add(imageResource);
        
        // Добавление AlternateView к письму
        mail.AlternateViews.Add(htmlView);
        
        // Отправка письма
        SmtpClient smtpClient = new SmtpClient("smtp.example.com", 587);
        smtpClient.Credentials = new System.Net.NetworkCredential("имя_пользователя", "пароль");
        smtpClient.EnableSsl = true;
        smtpClient.Send(mail);
    }
}


В этом примере создается объект MailMessage, устанавливаются адреса отправителя и получателя, тема письма и HTML-содержимое. Затем создается объект AlternateView для HTML-содержимого и LinkedResource для изображения. Оба объекта добавляются к письму. Затем письмо отправляется с помощью SmtpClient.

Пользователь

от maymie , 7 месяцев назад

@krista 

В приведенном коде C# отправляется письмо с HTML-контентом, и в этот HTML-контент встраивается изображение. Пожалуйста, обратите внимание на следующие важные моменты:

  1. В строке 23 укажите путь к изображению на вашем компьютере вместо "путь_к_изображению.jpg" - это путь к файлу изображения, которое вы хотите встроить в HTML-контент письма.
  2. Помните, что при отправке изображения в письме оно может быть заблокировано по соображениям безопасности почтовых клиентов, и пользователю может потребоваться разрешить загрузку изображения.
  3. В строках 27-31 создается объект LinkedResource с указанием типа изображения и уникальным идентификатором, и это изображение добавляется к HTML-контенту.
  4. Проверьте, что SMTP-сервер, указанный в строке 35 ("smtp.example.com", 587), доступен и разрешено ли на вашем SMTP-сервере использование заданных учетных данных (имя пользователя и пароль) для отправки электронной почты.
  5. Убедитесь, что ваша сеть позволяет отправлять почту через указанный SMTP-сервер.


Учитывая все эти моменты, вы сможете успешно отправить письмо с изображением в C#.