2012-03-01 60 views
2

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

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

这工作,当我使用msg.SendAndSaveCopy()方法。它在“已发送邮件”文件夹和收件人收件箱中都呈现完美。但是,当我尝试使用msg.Save()方法仅将它保存为草稿文件夹时,它不起作用。它将图像显示为普通附件,并且主体不显示图像内联。即使我输入了outlook,他们也不会正确呈现。我想知道如果我需要做任何特殊的事情,让这些图像在Outlook草稿文件夹中正确呈现。

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

回答

1

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