如何在C#中使用EWS下载> 1 MB电子邮件附件

时间:2015-06-10 14:37:22

标签: c# exchange-server exchangewebservices exchange-server-2010

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

2 个答案:

答案 0 :(得分:1)

EWS托管API中的默认超时为90秒,因此如果下载未在此时间内完成,则会引发超时异常。您可以通过在ExchangeService类上设置超时属性来增加超时,例如

Service.Time = 300000;

300000 = 300000毫秒或5分钟

干杯 格伦

答案 1 :(得分:1)

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

  

请注意,FindItem操作仅返回前512个字节(255   Unicode字符)任何属性;因此,邮件标题   超过512字节的集合将被截断。

您可以修改此优秀答案中的代码以满足您的需求:Exchange Web Services API : get mail attachments