Использование Outlook API для доступа к определенной папке - PullRequest
3 голосов
/ 17 сентября 2008

Я пытаюсь написать код C #, чтобы попасть в определенную папку в почтовом ящике Outlook. У меня есть следующий код:

Outlook.Application oApp = new Outlook.Application();
Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
Outlook.Recipient oRecip = oNS.CreateRecipient("AccountNameHere");
oRecip.Resolve();
if (oRecip.Resolved)
{
  oInbox = oNS.GetSharedDefaultFolder(oRecip, Outlook.OlDefaultFolders.olFolderInbox);
  oInboxMsgs = oInbox.Items;
  ItemCount = oInboxMsgs.Count;
  Console.Writeline("There are {0] items.", ItemCount.ToString())
}

Это приведет меня к папке «Входящие». Я пытаюсь добраться до папки на том же уровне, что и папка «Входящие». Я считаю, что мне нужно использовать GetFolderFromID вместо GetSharedDefaultFolder, но я не понимаю, как его использовать. Есть ли способ перебирать все папки верхнего уровня? Как я могу определить EntryID и StoreID папки?

Спасибо!

1 Ответ

5 голосов
/ 17 сентября 2008

Вы можете использовать член коллекции Folders объекта Outlook.NameSpace. Таким образом, вы можете перебирать коллекцию и находить папку по ее имени. Если вы все еще хотите использовать GetFolderFromID, вы можете использовать инструмент OutlookSpy для получения значений EntryID и StoreID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...