您可以使用mailMessage类将.htm文件作为html模板发送吗?我似乎无法解决如何做到这一点?
答案 0 :(得分:1)
假设您已经创建了一个包含标记的html模板(例如[[[FROM]]]
),那么您需要使用StringBuilder。例如:
public static string GetEmailTemplateContent(string path)
{
string emailHtmlTemplate = "";
StreamReader rdr = null;
try
{
rdr = new StreamReader(path);
emailHtmlTemplate = rdr.ReadToEnd();
}
catch (IOException ex)
{
throw new Exception(ex.Message.ToString());
}
finally
{
if (rdr != null)
{
rdr.Close();
rdr.Dispose();
}
}
return emailHtmlTemplate;
}
然后,您只需要替换标记并将电子邮件正文填充到已更改的模板中。
string emailTemplate = GetEmailTemplateContent("C:\\somepath");
emailTemplate = emailTemplate.Replace("[[[FROM]]]", from);
MailMessage email = new MailMessage();
email.Body = emailText;
答案 1 :(得分:0)
我建议您使用String或StringBuilder类并创建自己的模板子系统。我的意思是,只需将模板内容分配给String,并用实际值替换标记的出现次数。
如果你想要一个例子,请看看Drupal如何提供变量,如!username,等等。如果您需要代码示例,请不要犹豫,在此发表评论。
希望这有帮助,