发送的电子邮件仍包含 HTML 个标签。
Email sent still contains HTML tags.
我正在使用模板向人们发送电子邮件。问题是所有的标签都被显示了。
<p>Hello,</p>
<p> Please, click the following link to change your password </p>
//...
<p> PLEASE DO NOT REPLY TO THIS MESSAGE</p>
收到的邮件显示的是带有所有标签的原始邮件。有没有办法让它看起来像
这是我的代码:
string path = System.Web.HttpContext.Current.Server.MapPath("~/path/myTemplate.txt");
String body;
using (StreamReader sr = new StreamReader(path))
{
body = sr.ReadToEnd();
}
body = body.Replace("<%PasswordLink%>", pwdLink);
var mail = new MailMessage("from", "to");
mail.Subject = "Password Reset";
mail.Priority = MailPriority.High;
mail.Body = body;
var client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Host = "123.45.67.89";
client.Send(mail);
您需要说明邮件信息是HTML。如果您使用 System.Web.Mail.MailMessage 然后使用:
mail.BodyFormat = MailFormat.Html;
如果您使用 System.Net.Mail.MailMessage 则使用:
mail.IsBodyHtml = true;
添加mail.IsBodyHtml = true;
这将为电子邮件启用 HTML 格式。
我猜你必须将邮件正文定义为 HTML:
mail.IsBodyHtml = true;
我正在使用模板向人们发送电子邮件。问题是所有的标签都被显示了。
<p>Hello,</p>
<p> Please, click the following link to change your password </p>
//...
<p> PLEASE DO NOT REPLY TO THIS MESSAGE</p>
收到的邮件显示的是带有所有标签的原始邮件。有没有办法让它看起来像
这是我的代码:
string path = System.Web.HttpContext.Current.Server.MapPath("~/path/myTemplate.txt");
String body;
using (StreamReader sr = new StreamReader(path))
{
body = sr.ReadToEnd();
}
body = body.Replace("<%PasswordLink%>", pwdLink);
var mail = new MailMessage("from", "to");
mail.Subject = "Password Reset";
mail.Priority = MailPriority.High;
mail.Body = body;
var client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Host = "123.45.67.89";
client.Send(mail);
您需要说明邮件信息是HTML。如果您使用 System.Web.Mail.MailMessage 然后使用:
mail.BodyFormat = MailFormat.Html;
如果您使用 System.Net.Mail.MailMessage 则使用:
mail.IsBodyHtml = true;
添加mail.IsBodyHtml = true;
这将为电子邮件启用 HTML 格式。
我猜你必须将邮件正文定义为 HTML:
mail.IsBodyHtml = true;