我有一个电子邮件模板,它只是一个简单的静态HTML页面。
我需要将该页面放入MailMessage
的正文中。
通常我要做的只是创建一个StringBuilder
并反复追加这些行。但这是一个很长的页面,我不想用单引号替换引号等。
那么有没有办法将html页面的内容拉入字符串?如:
emailMessage.IsBodyHtml = true;
emailMessage.Subject = "Test Subject";
emailMessage.Body = GetContentsFrom("emailtemplate.html");
谢谢!
答案 0 :(得分:2)
你可以用File.ReadAllText替换GetContentsFrom吗?
答案 1 :(得分:1)
我认为这个例程可以解决问题:
private static string GetTemplate(string templateFullPath)
{
string template;
if (!File.Exists(templateFullPath))
throw new ArgumentException("Template file does not exist: " + templateFullPath);
using (StreamReader reader = new StreamReader(templateFullPath))
{
template = reader.ReadToEnd();
reader.Close();
}
return template;
}
答案 2 :(得分:1)
页面是否在某处托管?你可以这样做:
私有字符串HtmlPageInToString()
{
WebRequest myRequest;
myRequest = WebRequest.Create(@"http://yoururlhere/");
myRequest.UseDefaultCredentials = true;
WebResponse myResponse = myRequest.GetResponse();
Stream ReceiveStream = myResponse.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(ReceiveStream, encode);
return readStream.ReadToEnd();
}