将 <img src> 标记添加到 Outlook 邮件项正文在 VSTO 加载项中不起作用



我为Outlook有一个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:image007.png@01D1CB01.8E9D89F0" =
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: <image007.png@01D1CB01.8E9D89F0>
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMA
QObYZgAAAApJREFUCB1jYAAAAAIAAc/INeUAAAAASUVORK5CYII=

根据我了解的内容,而不是在查看电子邮件时获取图像,用户的Outlook下载了图像并将其附加到电子邮件中。

我的问题是:Outlook中是否有一些设置可以实现这一目标?有没有办法更改此设置?这是一些用户发生的,所以我很好奇导致这种情况发生的事情。

谢谢!

我在深入研究后发现了可能的原因,尽管我不确定这是该特定用户正在发生的事情。

显然,有一个曾经在Outlook 2007的Open中出现的设置,该设置使所有Outlook Images都以上述方式自动嵌入。在2010年或更晚于此环境中,该环境属于注册表,但仍在那里。

这里还有更多详细信息:https://www.msoutlook.info/question/72

最新更新