如何在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变量。