發送html格式郵件的最佳方式
該代碼將在 「Customer.htm」
<table>
<tr>
<td>
Dealer's Company Name
</td>
<td>
:
</td>
<td>
#DealerCompanyName#
</td>
</tr>
</table>
讀取HTML文件中使用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(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);
}
我們可以使用自定義字體嗎? – Wanderer
謝謝非常多@Shai – 2016-11-08 15:12:47
由於郵件客戶端需要支持自定義字體,所以無法輕鬆定製字體。許多郵件客戶端仍使用非常基本的IE6以前的HTML類型,因此它們將默認使用另一種字體。 –