1

単純な静的 HTML ページである電子メール テンプレートがあります。

そのページを a の Body に入れる必要がありますMailMessage

通常、私が行うことは、 aStringBuilderを作成して行を何度も追加することです。しかし、それは一種の長いページであり、引用符を単一引用符などに置き換えることはしたくありません..

では、html ページのコンテンツを文字列に取り込む方法はありますか? そのような:

emailMessage.IsBodyHtml     = true;
emailMessage.Subject        = "Test Subject";
emailMessage.Body           = GetContentsFrom("emailtemplate.html");

ありがとう!

4

3 に答える 3

2

GetContentsFrom をFile.ReadAllTextに置き換えていただけますか?

于 2010-03-09T17:30:28.670 に答える
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();

}

于 2010-03-09T17:49:59.460 に答える
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;
}
于 2010-03-09T17:31:59.963 に答える