2013-02-14 23 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();