![](/img/trans.png)
[英]Fetching emails for a specific date in c# using Exchange Web Services
[英]Get emails from custom and sent mail folders in c# using Exchange Web Services
我正在嘗試從多個文件夾(包括“收件箱”,“已發送”和一些自定義文件夾)中檢索電子郵件。 我首先過濾文件夾,以便可以遍歷它們,調用FindItems
返回它們的內容。 下面的代碼可以在沒有searchFilter4
情況下工作(第10行),但是有了它,我得到了這個無用的錯誤:
'Microsoft.Exchange.WebServices.Data.ServiceResponseException' in Microsoft.Exchange.WebServices.dll
我的代碼:
// Folder name filter for Inbox, Completed, Inprogress, and Sent folders:
SearchFilter searchFilter1 = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "Inbox");
SearchFilter searchFilter2 = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "Completed");
SearchFilter searchFilter3 = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "In Progress");
SearchFilter searchFilter4 = new SearchFilter.IsEqualTo(, WellKnownFolderName.SentItems);
SearchFilter.SearchFilterCollection searchFilterCollection = new SearchFilter.SearchFilterCollection(LogicalOperator.Or);
searchFilterCollection.Add(searchFilter1);
searchFilterCollection.Add(searchFilter2);
searchFilterCollection.Add(searchFilter3);
searchFilterCollection.Add(searchFilter4);
// Find folders:
FindFoldersResults findResults = service.FindFolders(
WellKnownFolderName.MsgFolderRoot, searchFilterCollection,
new FolderView(int.MaxValue) { Traversal = FolderTraversal.Deep }
);
我在寫問題的時候就知道了...
我需要做的就是在使用以下代碼行調用FindFolders
之后將文件夾添加到我的findeResults
:
findResults.Folders.Add(Folder.Bind(service, WellKnownFolderName.SentItems));
我的新代碼:
// Folder name filter for Inbox, Completed, Inprogress, and Sent folders:
SearchFilter searchFilter1 = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "Inbox");
SearchFilter searchFilter2 = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "Completed");
SearchFilter searchFilter3 = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "In Progress");
SearchFilter.SearchFilterCollection searchFilterCollection = new SearchFilter.SearchFilterCollection(LogicalOperator.Or);
searchFilterCollection.Add(searchFilter1);
searchFilterCollection.Add(searchFilter2);
searchFilterCollection.Add(searchFilter3);
// Find folders:
FindFoldersResults findResults = service.FindFolders(
WellKnownFolderName.MsgFolderRoot, searchFilterCollection,
new FolderView(int.MaxValue) { Traversal = FolderTraversal.Deep }
);
// Add SentItems to the findResults:
findResults.Folders.Add(Folder.Bind(service, WellKnownFolderName.SentItems));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.