0
使用EWS託管API在我的c#項目和Exchange 2010服務器之間進行通信。 我使用此代碼從現在起和三天後收到收件箱中的所有郵件。Exchange EWS託管API 2.0按日期獲取
var ews = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
ews.Credentials = new NetworkCredential(usr, psw, dmn);
ews.AutodiscoverUrl(url);
PropertySet itempropertyset = new PropertySet(BasePropertySet.FirstClassProperties);
itempropertyset.RequestedBodyType = BodyType.Text;
ItemView view = new ItemView(int.MaxValue);
FindItemsResults<Item> findResults;
view.PropertySet = itempropertyset;
do
{
findResults = ews.FindItems(WellKnownFolderName.Inbox, view);
foreach (Item item in findResults.Items)
{
if (item.DateTimeCreated < DateTime.Now.AddDays(-3)) continue;
item.Load(itempropertyset);
var message = EmailMessage.Bind(ews, item.Id,
new PropertySet(BasePropertySet.FirstClassProperties, ItemSchema.Attachments));
string to = message.ToRecipients[0].Address.ToLower();
string body = item.Body;
}
view.Offset += findResults.TotalCount;
} while (findResults.MoreAvailable);
現在的問題。我想改善這條線if (item.DateTimeCreated < DateTime.Now.AddDays(-3)) continue;
,因爲當我使用這個時,api會從收件箱中獲取所有的信息,並且如果它的大三天那麼就繼續。我想在代碼的前面指定這個過濾器,所以api不必處理所有消息。
您是否嘗試過任何操作?這裏描述的FindItems有一個'SearchFilter' >> http://msdn.microsoft.com/en-us/library/jj221817(v=exchg.80).aspx – banging 2013-03-21 20:36:20
當然,我已經嘗試過了!否則,我不會在這裏問這個問題。你似乎也沒有找到它? – 2013-03-21 21:18:45