从EWS导出可以在MS Outlook中打开的EmailMessage

时间:2011-09-22 13:21:02

标签: c# exchangewebservices exchange-server-2010

我正在编写一个使用EWS监控Exchange邮箱的应用程序。它将传入邮件的附件保存到网络文件夹中。

这些文件随后由3d派对应用程序使用。

现在我被问到是否有可能不仅保存附件,而且包含附件的整个电子邮件仍然包含在内,因此可以在Outlook中打开。 (不需要支持其他邮件客户端)。

Exchange服务器为Exchange 2010,应用程序正在C#中编写 可以使用EWS完成吗?或者是我使用Interop.Outlook创建.msg文件的唯一解决方案?

2 个答案:

答案 0 :(得分:2)

您使用的是哪个Outlook版本? Outlook 2010可以打开.EML文件,这是邮件的“本机”存储格式(RFC 2822)。在这种情况下,您可以使用EWS Web服务(或EWS托管API)下载MIME内容。

在任何其他情况下,请查看Outlook Redemption(http://www.dimastr.com/redemption/)。它可以将项目保存为.msg文件,可以在C#中使用。

答案 1 :(得分:2)

ExchangeService exchangeService = ...
EmailMessage mailMessage = ...

var propertySet = new PropertySet(BasePropertySet.FirstClassProperties, ItemSchema.MimeContent, EmailMessageSchema.IsRead);

exchangeService.LoadPropertiesForItems(mailMessage, propertySet);

File.WriteBytes("filename.eml", mailMessage.MimeContent.Content);