String.Replace不能处理长html代码。 (Mail.Body)

时间:2013-02-14 17:02:28

标签: html string text replace document-body

所以,我遇到了一个小问题,给出了一个邮件对象:

Mail = new MailMessage();

生成它的身体:

Mail.IsBodyHtml = true; 
Mail.Body = GenerateHTMLFoo(); // it's a stringbuilder

现在Mail.Body包含一个完整的HTML文档,只显示第一行,例如:

"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">

然后我发送邮件,之后我想替换它的内容:

Mail.Body.Replace("cid:header", "header.jpg"); // no effect

有什么想法吗? Mail.Body是一个字符串,替换对它没有影响。

1 个答案:

答案 0 :(得分:1)

我用这个修好了,但我仍然好奇为什么它不能以“正常”的方式工作。

            MailBody = new StringBuilder(Mail.Body);
            MailBody.Replace("cid:header", "header.jpg");
            Mail.Body = MailBody.ToString();