我有一个电子邮件模板,它只是一个普通的静态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();

}

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top