MailMessage С# - Как сделать это HTML и добавлять изображения и т.д.?

string to = "[email protected]";
 string body = "Test";
 SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
 MailMessage mailObj = new MailMessage(urEmail, to, subject, body);
 SMTPServer.Send(mailObj);

Вот как я сейчас отправляю тестовое письмо. Как я могу сделать этот html и уметь сделать рассылку электронной почты лучше, добавив изображения и т.д.

Спасибо

Ответ 1

На MailMessage установите для свойства IsBodyHtml значение true.

string to = "[email protected]";
string body = "Test";
SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
MailMessage mailObj = new MailMessage(urEmail, to, subject, body);

mailObj.IsBodyHtml = true; // This line

SMTPServer.Send(mailObj);

Ответ 2

Вы должны установить mailObj .IsBodyHtml = true;

Ответ 3

вы можете использовать следующую идею, чтобы взять страницу ASPX и отобразить ее в строке:

StringWriter writer = new StringWriter();
Server.Execute("Login.aspx", writer);
string html = writer.ToString();

Если вы установите для MailMessage.IsBodyHtml значение true, вы можете отправить сообщение HTML. Если вы хотите использовать изображения и другие материалы, убедитесь, что получатель электронной почты может получить доступ к этим изображениям.

Ответ 4

Есть два способа сделать это:

  • Вставьте изображения внутри своей почты. (см. этот вопрос)

  • Ссылка на изображения через ваш атрибут src тега изображения внутри вашей HTML-почты. Это требует, чтобы вы размещали файлы изображений где-нибудь на веб-сервере, доступ к которому получатели могут получить.

В обоих случаях вам нужно будет отправить почту с тегом html.

mailObj.IsBodyHtml = true;

Ответ 5

Если у вас возник вопрос о добавлении изображения на ваш адрес электронной почты, если вы просите встраивания, вы можете использовать теги привязки HTML или добавить файл изображения в почту с помощью метода mailObj.Attachments.Add(), который я предполагаю.

Но лучший способ - отправить изображения в виде вложений, потому что некоторые брандмауэры просто блокируют встроенные изображения, но позволяют вложения. Таким образом, вы будете более безопасны в доставке контента, хотя это не идеальный способ.