2013-02-14 65 views
0

所以,我只是碰到一个小问题就来了,给定一个邮件对象:String.Replace对长HTML代码不起作用。 (Mail.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

你可以发布一些stringBuilder函数的示例输出。我不认为任何人都可以帮助,没有看到实际的src字符串 – Exception 2013-02-14 17:05:36

+0

添加了一个示例行。它充满了斜线,这可能是问题所在? – 2013-02-14 17:17:26

+1

我看不到您的代码有任何语法错误。 – Exception 2013-02-14 17:21:44

回答

1

我修正了这个问题,但我仍然好奇它为什么没有用“正常”的方式。

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