如何将电子邮件页/模板的内容拉到.NET中的邮件主体中
-
18-09-2019 - |
题
我有一个电子邮件模板,它只是一个普通的静态HTML页面。
我需要将该页面放入一个 MailMessage
.
通常我要做的就是创建一个 StringBuilder
并一遍又一遍地附加线条。但这是一段长页,我不想用单引号等代替报价。
因此,有没有办法将HTML页面的内容拉入字符串中?如:
emailMessage.IsBodyHtml = true;
emailMessage.Subject = "Test Subject";
emailMessage.Body = GetContentsFrom("emailtemplate.html");
谢谢!
解决方案
您能否用 file.ReadallText?
其他提示
我认为这个例程会解决问题:
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;
}
该页面是在某个地方托管的吗?您可以这样做:
私有字符串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();
}
不隶属于 StackOverflow