如何在asp.net 4.0中发送html模板
问题描述:
Emailservicerequest.Email = new Email();
Emailservicerequest.Email.FromEmail = Insertcampaignrequest.Campaign.SenderAddress;
Emailservicerequest.Email.ToEmail = Insertcampaignrequest.Campaign.RecipientsFilter;
Emailservicerequest.Email.Subject = Insertcampaignrequest.Campaign.Subject;
// Emailservicerequest.Email = true;
Emailservicerequest.Email.Body = Convert.ToString(MailFormat.Html);
Emailservicerequest.Email.Body = "Provider/EmailTemplate/email.html";
Emailserviceresponse=Emailservice.SendEmail(Emailservicerequest);
答
在Asp.net 4.0中,您应该使用T4模板来创建电子邮件模板。它简单而又易于管理。
更多信息 http://asmiki.com/2011/05/20/using-t4-templates-for-compiling-net-email-templates/
问候
答
到HTML文件转换成字符串,这样就可以将其设置为体价值,你的电子邮件的对象,你可以使用以下功能:
public string ReturnHTML(string Path)
{
string strBody = "";
try
{
StreamReader objReader = new StreamReader(Path);
strBody = objReader.ReadToEnd();
objReader.Close();
}
catch (Exception ex)
{
strBody = "";
throw ex;
}
return strBody;
}
呼叫代码上面的函数
string path = Server.MapPath(ConfigurationManager.AppSettings["NoticeApprovalPath"].ToString());
string tempStr = cmm.ReturnHTML(path);
tempStr = tempStr.Replace("[xxxNoticeIDxxx]", Convert.ToString(RequestID));
替换功能是用来取代在HTML模板的值:
[xxxNoticeIDxxx]
这里被替换为包含数据的值RequestID
变量。