Как отправить электронное письмо с тегом HTML, а не с обычным текстом HTML в C # - PullRequest
2 голосов
/ 20 мая 2019

Я хотел бы отправить электронное письмо с использованием C #, но отправил его с простым текстом HTML, а не с тегом HTML.

Вот код ниже ..

StringBuilder pl_sbHtml = new StringBuilder();

pl_sbHtml.Append("<html>");
pl_sbHtml.Append("<head>");
pl_sbHtml.Append("</head>");
pl_sbHtml.Append("<body>");
pl_sbHtml.Append("<td>"+ Content Data + "</td>"); // This Content Data is from DB with HTML Tag
pl_sbHtml.Append("</body>");
pl_sbHtml.Append("</html>");

MailAction pl_objMail = new MailAction("Title", pl_sbHtml.ToString(), SmtpHost);

pl_objMail.IsBodyHtml = true;
pl_objMail.AddToMail(TO);
pl_objMail.SetFromMail(FROM);
pl_objMail.UseDefaultCredentials = false;
pl_objMail.SendMail();

Текущий результат в электронной почте: < div style='font:30px'> HELLO < /div> (Может видеть тег HTML.)

Ожидаемый результат по электронной почте: ПРИВЕТ (применяется тег HTML.)

Спасибо!

UPDATE

Я нашел проблему и исправил ее, но дело в том ...

Данные из БД не с тегом HTML, а с & quot; << что-то в этом роде </p>

Итак, я просто заменил его на правильное слово.

Без этого мой код работает нормально.

Все, кто мне помогал ... Спасибо !! :)

1 Ответ

1 голос
/ 20 мая 2019

Содержимое электронной почты может быть очень забавным, и клиенты электронной почты могут отличаться. Я проверял это в Outlook

с исходным заявленным содержанием < div style='font:30px'> HELLO < /div>

и это не правильно отображалось. Немного проб и ошибок, кажется, что первые пробелы в тегах html вызвали проблему.

Попытка

pl_sbHtml.Append("<td>" + "<div style='font:30px'> HELLO </div>" + "</td>");

отображается как ожидалось

В отношении комментариев к OP, не имеет значения, если вы установили IsBodyHtml = true до или после того, как вы установили тело, если вы устанавливаете его до того, как отправите его.

Тестовый код:

StringBuilder pl_sbHtml = new StringBuilder();

var from = "steve@ste-fu.uk";
var to = "steve@ste-fu.uk";

pl_sbHtml.Append("<html>");
pl_sbHtml.Append("<head>");
pl_sbHtml.Append("</head>");
pl_sbHtml.Append("<body>");
pl_sbHtml.Append("<td>" + "<div style='font:30px'> HELLO </div>" + "</td>");
pl_sbHtml.Append("</body>");
pl_sbHtml.Append("</html>");

MailMessage pl_objMail = new MailMessage();

pl_objMail.Body = pl_sbHtml.ToString();
pl_objMail.IsBodyHtml = true;
pl_objMail.Subject = "Testing";
pl_objMail.To.Add(to);
pl_objMail.From = new MailAddress(from);

var client = new SmtpClient("smtp.ste-fu.uk");
client.Send(pl_objMail);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...