c# - EWS 托管 API - 使用内联图像保存草稿

标签 c# html-email exchangewebservices ews-managed-api

我正在尝试使用 EWS 托管 API 1.1 为我的用户创建电子邮件,并且需要使用我们的设计人员创建的电子邮件模板。我能够成功附加图像(例如 header.png)并在 html 正文中添加这样的图像标签(在图像名称之前使用 cid:)。 p>

<img width=683 height=27 src="cid:header.png" alt="Header">

当我使用 msg.SendAndSaveCopy() 方法时,这有效。它在“已发送邮件”文件夹和收件人收件箱中都呈现完美的效果。但是,当我尝试使用 msg.Save() 方法将其保存为草稿文件夹中的草稿时,它不起作用。它将图像显示为普通附件,正文不显示内嵌图像。即使我在 Outlook 中点击发送,它们也无法正确呈现。我想知道是否需要执行任何特殊操作才能在 Outlook 草稿文件夹中正确呈现这些图像。

任何指示/帮助将不胜感激。

最佳答案

Microsoft 今天提供了解决此问题的解决方法。发布解决方案以造福社区

      string html = @"<html>
                 <head>
                 </head>
                 <body>
                    <img width=200 height=100  id=""1"" src=""cid:Desert.jpg"">
                 </body>
                 </html>";

        newMessage.Body = new MessageBody(BodyType.HTML, html);
        string file = @"D:\Tools\Desert.jpg";
        newMessage.Attachments.AddFileAttachment("Desert.jpg", file);
        newMessage.Attachments[0].IsInline = true;

        //this is required to fix the issue - Add content id programatically
        newMessage.Attachments[0].ContentId = "<Desert.jpg>";

        newMessage.Save();

关于c# - EWS 托管 API - 使用内联图像保存草稿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9518906/

相关文章:

c# - mongoDB: C# driver V2 如何更新嵌套集合中的项目

c# - 选中 CheckBox 时如何添加整数值?

json - O365 REST API 说明

java - 为什么我在调用 Exchange Web 服务 API 的 autoDiscoverUrl 方法时遇到延迟?

c# - 如何使用 MS EWS Managed API 检索全局联系人?

c# - 数据表选择返回数组索引越界

c# - 这个方法是异步的吗?

css - Outlook 中的表格宽度与网络浏览器中的表格宽度不同

html - 如何调整表格页脚的填充

html - 疯狂使用 Windows 10 邮件和图像大小