如何发送 HTML 格式的电子邮件?

我可以让 Web 应用程序使用 Windows 任务计划程序自动发送电子邮件。现在我想发送 HTML 格式的电子邮件使用以下方法,我写的发送电子邮件。

我的代码背后:

protected void Page_Load(object sender, EventArgs e)
{
SmtpClient sc = new SmtpClient("mail address");
MailMessage msg = null;


try
{
msg = new MailMessage("xxxx@gmail.com",
"yyyy@gmail.com", "Message from PSSP System",
"This email sent by the PSSP system");


sc.Send(msg);
}


catch (Exception ex)
{
throw ex;
}


finally
{
if (msg != null)
{
msg.Dispose();
}
}
}

怎么做?我只是想把一些粗体文字与一个链接,也许一个图片在电子邮件。

323961 次浏览

isBodyHtml设置为 true允许您在消息正文中使用 HTML 标记:

msg = new MailMessage("xxxx@gmail.com",
"yyyy@gmail.com", "Message from PSSP System",
"This email sent by the PSSP system<br />" +
"<b>this is bold text!</b>");


msg.IsBodyHtml = true;

这对我有用

msg.BodyFormat = MailFormat.Html;

然后你可以在你的身体里使用 html

msg.Body = "<em>It's great to use HTML in mail!!</em>"

发送 HTML 格式电子邮件的最佳方式

这个代码将在“ 顾客”中

    <table>
<tr>
<td>
Dealer's Company Name
</td>
<td>
:
</td>
<td>
#DealerCompanyName#
</td>
</tr>
</table>

使用 System.IO.File.ReadAllText 读取 HTML 文件。

string Body = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("EmailTemplates/Customer.htm"));

将“特定字符串”替换为自定义值。

Body = Body.Replace("#DealerCompanyName#", _lstGetDealerRoleAndContactInfoByCompanyIDResult[0].CompanyName);

调用 SendEmail (字符串正文)函数并执行发送电子邮件的过程。

 public static void SendEmail(string Body)
{
MailMessage message = new MailMessage();
message.From = new MailAddress(Session["Email"].Tostring());
message.To.Add(ConfigurationSettings.AppSettings["RequesEmail"].ToString());
message.Subject = "Request from " + SessionFactory.CurrentCompany.CompanyName + " to add a new supplier";
message.IsBodyHtml = true;
message.Body = Body;


SmtpClient smtpClient = new SmtpClient();
smtpClient.UseDefaultCredentials = true;


smtpClient.Host = ConfigurationSettings.AppSettings["SMTP"].ToString();
smtpClient.Port = Convert.ToInt32(ConfigurationSettings.AppSettings["PORT"].ToString());
smtpClient.EnableSsl = true;
smtpClient.Credentials = new System.Net.NetworkCredential(ConfigurationSettings.AppSettings["USERNAME"].ToString(), ConfigurationSettings.AppSettings["PASSWORD"].ToString());
smtpClient.Send(message);
}