交换服务器 - 如何在 C# 中使用 EWS 下载 >1 MB 电子邮件附件



我需要使用Exchange Web Service API 2.1从Exchange Server下载电子邮件附件我尝试了FindItemResults。可以下载最小大小的文件。但是,如果文件大小超过1mb(我尝试使用2MB的文件)。它需要更多的时间,并抛出超时异常。我知道为什么这个例外。但我的问题是,我可以下载大尺寸的附件吗?

您应该使用GetItem,而不是FindItem。使用FindItem获取带有附件的邮件的Id,然后使用GetItem获取整个邮件。

注意FindItem操作只返回前512字节(255任何属性的Unicode字符;因此,消息头大于512字节的集合将被截断。

你可以修改这个答案中的代码来满足你的需要:Exchange Web Services API:获取邮件附件

EWS Managed API的默认超时是90秒,所以如果下载没有在这段时间内完成,你会得到一个超时异常。您可以通过在ExchangeService类上设置timeout属性来增加超时时间,例如

服务。时间= 300000;

300000 = 300000毫秒或5分钟

干杯格伦

最新更新