将<img src>标记添加到Outlook Mailitem主体在VSTO加载项中不起作用

马特·卡根(Matt Kagan)

我有一个用于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:[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中是否有某些设置可以实现此目的?有没有办法更改此设置?这只是某些用户所发生的,所以我很好奇是什么原因导致了这种情况的发生。

谢谢!

马特·卡根(Matt Kagan)

在深入研究之后,我发现了一个可能的原因,尽管我不确定这是否是针对特定用户的情况。

显然,有一个设置曾经在Outlook 2007的公开版本中出现过,该设置使所有Outlook图像都按照上述方式自动嵌入。在2010年或更晚的时候,此设置会在注册表中添加,但仍然存在。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章