我正在使用这样的代码发送电子邮件:
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587, //465?
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
......它只是花花公子。但是,现在,我希望能够控制所用字体的大小和样式(例如,Western 12)。
虽然我仍然希望使用更好看的字体(例如西方字体),但我的主要问题是在正文中使用我称之为“盒子”的字符(正方形字符)。我发现以下问题纠正了这个困境:
body = body.Replace("�", "");
(虽然在记事本和VS编辑器中,它看起来不像一个盒子,但就像一个被淹没的问号或者其他类似的东西) - 实际上,在我的问题的格式化版本中,它看起来也像这里一样。在问题编辑器(术语?)中,它看起来像方形/方框。
答案 0 :(得分:4)
您可以将MailMessage作为HTML发送,在这种情况下,您将获得使用CSS的HTML的所有格式化优势
但如果您想继续选择发送文本副本和HTML,请使用MailMessage.AlternateViews
取自MSDN:还可以使用AlternateViews属性指定不同格式的电子邮件的副本。例如,如果你 以HTML格式发送消息,您可能还希望提供纯文本 如果一些收件人使用不能的电子邮件阅读器的情况下的版本 显示HTML内容。
答案 1 :(得分:2)
尝试:
var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
IsBodyHtml = true,
Body = "<strong>" + body + "</strong>"
}
你会明白的。