我为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