Я извлекаю все электронные письма из папки входящих сообщений Outlook Exchange, используя Microsoft.Exchange.WebServices
, и приведенный ниже код отлично работает
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++;
}
}
}