HTML в теле письма отображается как сам HTML. Не рендерит почту ASP.NET
Я сталкиваюсь с небольшой проблемой при отправке писем из ASP.NET (VB). Вот код, который я нахожусь на
Using mm As New MailMessage("myemai@abcd.com", mc.mailTo)
If mc.mailCC.Trim <> "" Then
mm.CC.Add(mc.mailCC)
End If
If mc.mailBCC.Trim <> "" Then
mm.CC.Add(mc.mailBCC)
End If
mm.IsBodyHtml = True
mm.Subject = mc.mailSubject
mm.Body = b
Dim smtp As New SmtpClient()
Try
smtp.Send(mm)
Catch ex As SmtpException
gf.logArray(jA, ex.Message)
Dim statuscode As SmtpStatusCode
statuscode = ex.StatusCode
If statuscode = SmtpStatusCode.MailboxBusy Or statuscode = SmtpStatusCode.MailboxUnavailable Or statuscode = SmtpStatusCode.TransactionFailed Then
System.Threading.Thread.Sleep(5000)
smtp.Send(mm)
End If
End Try
End Using
Вопрос, который я имею, есть. Письма отправляются нормально. но тело показывает как просто HTML. Не рендеринг даже я четко указал mm.isBodyHTML = true. Любые предложения, пожалуйста...
Это сообщение, которое я получил
1 ответ
Если вы используете SMTP для отправки электронной почты, вы можете добавить один параметр IsBodyHtml, я столкнулся с той же проблемой и исправил, установив IsBodyHtml=true, и это работает для меня.
var fromAddress = new MailAddress("abc@gmail.com", "Abc Noreply");
var toAddress = new MailAddress(email, "");
const string fromPassword = "acbsexample";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = emailBody,
IsBodyHtml=true
})
{
smtp.Send(message);
}
Я думаю, что основная проблема заключается в теле сообщения HTML. Попробуйте отправить в теле сообщения только таблицу с содержимым, без DOCTYPE, заголовка и другого содержимого.
Так как почтовый агент отображает ваше сообщение на уже существующей html-странице, поэтому он не может отобразить страницу на странице, чтобы агент кодировал тело вашего сообщения в виде строки.