发送电子邮件,因为HTML不起作用。为什么?

时间:2014-02-21 14:18:32

标签: c# html .net email

我有这段代码:

string email = "myemail@gmail.com";
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.Credentials = new NetworkCredential(email, "mypassword");
MailMessage mailMessage = new MailMessage(email, toEmail);
mailMessage.Subject = title;
mailMessage.Body = message;
mailMessage.IsBodyHtml = true;
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;

client.Send(email, toEmail, title, message);

我的留言是:

message = "hello <b>world</b>."

当我收到电子邮件时,会显示<b>...</b>没有加粗!

它出了什么问题?!

2 个答案:

答案 0 :(得分:6)

您创建了一个包含HTML格式邮件的mailMessage变量,但之后您忽略了它并将正文作为纯文本发送。

您需要发送mailMessage本身。

答案 1 :(得分:4)

您的邮件不是有效的HTML。

使用html和正文标记附上您的邮件

message = "<html><body>hello <b>world</b>.</body></html>"

还要感谢@SLaks指出

在您的示例中,您应该发送mailMessage而不是message:

client.Send(mailMessage);