Подтвердить что ты не робот

Отправить HTML-письмо через С# с помощью SmtpClient

Как отправить HTML-письмо? Я использую код этот ответ для отправки писем с помощью SmtpClient, но они всегда являются обычным текстом, поэтому ссылка в приведенном ниже примере сообщения не отформатирована как таковая.

<p>Welcome to SiteName. To activate your account, visit this URL: <a href="#" onclick="location.href='http://SiteName.com/a?key=1234'; return false;">http://SiteName.com/a?key=1234</a>.</p>

Как включить HTML в отправляемые сообщения электронной почты?

4b9b3361

Ответ 1

Это то, что я делаю:

MailMessage mail = new MailMessage(from, to, subject, message);
mail.IsBodyHtml = true;
SmtpClient client = new SmtpClient("localhost");
client.Send(mail);

Обратите внимание, что я установил html сообщения электронной почты в значение true: mail.IsBodyHtml = true;

Ответ 2

Я считаю, что это было что-то вроде:

mailObject.IsBodyHtml = true;

Ответ 3

IsBodyHtml = true, несомненно, является самой важной частью.

Но если вы хотите предоставить электронное письмо как с текстовой/простой частью, так и с частью text/html, составленной в виде альтернатив, также возможно использование класса AlternateView:

MailMessage msg = new MailMessage();
AlternateView plainView = AlternateView
     .CreateAlternateViewFromString("Some plaintext", Encoding.UTF8, "text/plain");
// We have something to show in real old mail clients.
msg.AlternateViews.Add(plainView); 
string htmlText = "The <b>fancy</b> part.";
AlternateView htmlView = 
     AlternateView.CreateAlternateViewFromString(htmlText, Encoding.UTF8, "text/html");
msg.AlternateViews.Add(htmlView); // And a html attachment to make sure.
msg.Body = htmlText;  // But the basis is the html body
msg.IsBodyHtml = true; // But the basis is the html body

Ответ 4

Применить правильную кодировку Mailbody.

mail.IsBodyHtml = true;

Ответ 5

У меня есть идея, вы можете добавить флажок в свой проект для отправки электронной почты как html в качестве опции для пользователя и добавить этот код, чтобы включить его:

         MailMessage mail = new MailMessage(from, to, subject, message);

         if(checkBox1.CheckState == CheckState.Checked )
           {
               mail.IsBodyHtml = true;
           }

         SmtpClient client = new SmtpClient("localhost");

         client.Send(mail);