我正在编写一个使用EWS监控Exchange邮箱的应用程序。它将传入邮件的附件保存到网络文件夹中。
这些文件随后由3d派对应用程序使用。
现在我被问到是否有可能不仅保存附件,而且包含附件的整个电子邮件仍然包含在内,因此可以在Outlook中打开。 (不需要支持其他邮件客户端)。
Exchange服务器为Exchange 2010
,应用程序正在C#
中编写
可以使用EWS完成吗?或者是我使用Interop.Outlook创建.msg文件的唯一解决方案?
答案 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);