EWS托管API - 使用内嵌图像保存草稿

时间:2012-03-01 15:26:51

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

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

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

当我使用msg.SendAndSaveCopy()方法时,这是有效的。它在“已发邮件”文件夹和收件人收件箱中都可以完美呈现。但是当我尝试使用msg.Save()方法将其保存为草稿文件夹中的草稿时,它无效。它将图像显示为普通附件,并且正文不显示内嵌图像。即使我点击发送前景,它们也无法正确呈现。我想知道是否需要做一些特别的事情才能在Outlook Drafts文件夹中正确呈现这些图像。

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

1 个答案:

答案 0 :(得分:2)

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();