嵌入式圖像被Exchange視爲電子郵件附件,這意味着您可以從Item.Attachments
屬性中檢索圖像。以下示例顯示如何使用EWS Managed API。請注意,EWS不會加載附件,除非你明確告訴它通過調用LoadPropertiesForItems
。
你可以告訴附件通過檢查Attachment.IsInline
屬性嵌入。EWS讓您加載附件並保存到磁盤調用FileAttachment.Load
方法。
ExchangeService service = GetService();
var view = new ItemView(1);
var searchFilter = new SearchFilter.IsEqualTo(EmailMessageSchema.Subject, "Some subject text");
var items = service.FindItems(WellKnownFolderName.Inbox, searchFilter, view);
service.LoadPropertiesForItems(items, new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.Attachments));
var item = items.ElementAt(0) as EmailMessage;
for (int i = 0; i < item.Attachments.Count; i++)
{
var att = item.Attachments[i] as FileAttachment;
if (att.IsInline && att.ContentType.Contains("image"))
{
att.Load(String.Format(@"c:\temp\attachedimage_{0}.jpg", i));
}
}