2016-06-23 31 views
0

我有一個用於Outlook的VSTO插件,它將附加標籤附加到電子郵件的底部。它是這樣做的將<img src>標記添加到Outlook Mailitem正文在VSTO插件中不起作用

string imageUrl = "http://imageurl.com/image.png" 
    HtmlNode imageNode = HtmlNode.CreateNode("<img src=\"" + imageUrl"); 

    string htmlEmail = mailItem.HTMLBody 
    HtmlAgilityPack.HtmlDocument html = new HtmlAgilityPack.HtmlDocument(); 
      html.LoadHtml(htmlEmail); 
    HtmlNode body = html.DocumentNode.SelectSingleNode("//body"); 
    body.AppendChild(imageNode); 
    html.DocumentNode.WriteTo(); 

這工作得很好。不過,我最近注意到,對於附加在發送的電子郵件的最終HTML的一些用戶實際上看起來像這樣

<img border=3D0 id=3D"_x0000_i1026" = 
src=3D"cid:[email protected]" = 
alt=3D"http://imageurl.com/image.png"> 

並在電子郵件的底部我看到

------=_NextPart_000_018A_01D1CB01.8F0E7430 
Content-Type: image/png; 
    name="image007.png" 
Content-Transfer-Encoding: base64 
Content-ID: <[email protected]> 

iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMA 
QObYZgAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII= 

從我的理解是,當我查看電子郵件時,用戶的Outlook會下載圖像並以某種方式將其附加到電子郵件中,而不是獲取圖像。

我的問題是:在Outlook中是否有一些設置使得這種情況發生?有沒有辦法改變這個設置?這一切都發生在一些用戶身上,所以我很好奇這是怎麼發生的。

謝謝!

回答

0

我在深入挖掘後找到了一個可能的原因,儘管我不確定這是否是這個特定用戶正在發生的事情。

顯然,Outlook 2007中有一個開放的設置,可以使所有的Outlook圖像以上述方式自動嵌入。在2010年或以後,該設置在註冊表中受到了保護,但仍然存在。

這裏有更多的細節:https://www.msoutlook.info/question/72