2013-03-07 17 views
1

我用C#做了一個郵件發件人,但是我在郵件正文中遇到了問題。它只發送沒有圖片,鏈接和其他元素的文本。更不用說,我用RichTextBox來達到這個目的。用什麼組件發送任何類型的郵件?

所以現在我的問題是:什麼組件用來發送圖片,鏈接和其他郵件?

我也啓用IsBodyHtmltrue

我想要做的是從Microsoft Word中複製圖片,鏈接和文本(使用不同的顏色和大小)並粘貼它來控制,當用戶收到郵件時,他會得到與我發送的完全相同的主體和佈局他們。

+1

那麼你需要構建的HTML,它不會爲你做。 – Arran 2013-03-07 12:02:29

回答

1

您需要將它作爲html發送。 將word文檔保存爲html並使用它。 對於文檔中的圖像,您可以通過他們的絕對URL(通過互聯網公開提供)指向他們。可以使用LinkedResource類。

使用LinkedResource類,圖像必須在源中指定一個cid。

var inlineLogo = new LinkedResource("path/myfile.png"); 
           inlineLogo.ContentId = Guid.NewGuid().ToString(); 

var imageHtmlFragment = string.Format("<img alt='My Logo' src='cid:{0}' style='width: 250px;height: 60px;'/>",inlineLogo.ContentId); 

var newMail = new MailMessage(); 

var view = AlternateView.CreateAlternateViewFromString(imageHtmlFragment, null, "text/html"); 
         view.LinkedResources.Add(inlineLogo); 
         newMail.AlternateViews.Add(view); 
相關問題