如何发送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(); } } } 

怎么做? 我只是想在电子邮件中join一个粗体的文字,也许只有一个图像。

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; 

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

此代码将在“ Customer.htm

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

读取HTML文件使用System.IO.File.ReadAllText。 获取stringvariables中的所有HTML代码。

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

将特定stringreplace为您的自定义值。

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

调用SendEmail(string Body)函数并做程序发送邮件。

  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); } 

这对我有用

 msg.BodyFormat = MailFormat.Html; 

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

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