【发布时间】:2018-12-07 19:59:46
【问题描述】:
我正在使用 Microsoft.Exchange.WebServices 从 Outlook Exchange 收件箱中提取所有电子邮件,下面的代码完美运行
ExchangeService service = EmailCredentials();
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(CountRec));
foreach (Item i in findResults.Items)
{
countOfEmails++;
}
现在有一个请求从收件箱外的另一个用户创建的文件夹中提取电子邮件。我发现的任何东西都使用 MAPI 或 EAGetMail,但我需要使用交换网络服务。这可能吗?
**编辑
感谢@farbiondriven 使用他的代码进行了一些调整,我现在可以使用它了
ExchangeService service = EmailCredentials();
// Return only folders that contain items.
SearchFilter searchFilter = new SearchFilter.IsGreaterThan(FolderSchema.TotalCount, 0);
FolderView view = new FolderView(10);
// Unlike FindItem searches, folder searches can be deep traversals.
view.Traversal = FolderTraversal.Deep;
// Send the request to search the mailbox and get the results.
FindFoldersResults findFolderResults = service.FindFolders(WellKnownFolderName.MsgFolderRoot, searchFilter, view);
foreach (Folder folder in findFolderResults.Folders)
{
if (folder.DisplayName == "MyFolder")
{
FindItemsResults<Item> findResults = service.FindItems(folder.Id, new ItemView(CountRec));
foreach (Item i in findResults.Items)
{
countOfEmails++;
}
}
}
【问题讨论】:
标签: c# outlook exchangewebservices