【问题标题】:Adding <img src> tag to Outlook Mailitem body does not work in VSTO Add-in将 <img src> 标记添加到 Outlook Mailitem 正文在 VSTO 外接程序中不起作用
【发布时间】:2016-10-26 06:43:19
【问题描述】:

我有一个用于 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 中是否有一些设置可以实现这一点?有没有办法改变这个设置?这仅发生在某些用户身上,所以我很好奇是什么导致了这种情况发生。

谢谢!

【问题讨论】:

    标签: c# outlook vsto outlook-addin outlook-2010


    【解决方案1】:

    在深入挖掘之后,我发现了一个可能的原因,但我不确定这是否是这个特定用户正在发生的事情。

    显然,曾经在 Outlook 2007 中公开的一项设置使所有 Outlook 图像以上述方式自动嵌入。在 2010 年或之后的版本中,此设置已隐藏在注册表中,但仍然存在。

    这里有更多细节:https://www.msoutlook.info/question/72

    【讨论】:

      猜你喜欢
      • 2016-12-19
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多