2013-02-14 136 views
0

我有一個向我的客戶端發送電子郵件的WCF服務。該電子郵件正文是html。所以它有CSS樣式和嵌入式圖像。但現在的問題是,圖像src必須作爲完整的地址給出。那麼是否有任何選項可以將圖像作爲wcf服務的一部分公開並使用完整地址。從WCF服務發送包含嵌入式圖像的郵件

我不想因爲我使用的是開放源代碼的電子郵件模板引擎

街頭公告員使用likedResource選項 - 爲.NET http://thecodedecanter.wordpress.com/2010/07/19/town-crier-an-open-source-e-mail-templating-engine-for-net/

的開放源代碼電子郵件模板引擎這個引擎需要的圖像作爲完整的地址給出。

任何更好的解決方案將不勝感激。

謝謝, Alagesan。

+0

難道你只是上傳圖像到你的服務器,並引用它在你的電子郵件?像http://server/path/imagename.gif – stephenl 2013-02-14 23:57:14

+0

不,它需要一個完全合格的url。 – 2013-02-14 23:59:20

+0

評論中的網址無法正確呈現。想象它的前面有http://。這使它成爲一個完全合格的網址。 – stephenl 2013-02-15 00:02:22

回答

1

如果圖像是靜態的並且不是太大,則可以使用消息中的AlternateViewLinkedResources屬性將它們包含在消息本身中。

AlternateView html = message.AlternateViews.FirstOrDefault(v => v.ContentType.Name == "text/html"); 
if (html != null) 
{ 
    LinkeResource img = new LinkedResource(imgFileName, imgMimeType); 
    img.ContentId = imgContentName; 
    html.AddLinkedResources.Add(img); 
} 

img.ContentId然後使用"cid:ContentId" URL語法消息中引用。因此,如果您將圖片的內容標識爲"header.jpg",那麼您可以在HTML電子郵件中使用以下內容引用它:<img src="cid:header.jpg" />

方便插入小徽標等。

相關問題