Usando a API do Outlook para chegar a uma pasta específica
Pergunta
Estou tentando escrever algum código C# para acessar uma pasta específica em uma caixa de correio do Outlook.Eu tenho o seguinte código:
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())
}
Isso me levará à pasta "Caixa de entrada".Estou tentando acessar uma pasta no mesmo nível da pasta Caixa de entrada.Acredito que preciso usar GetFolderFromID em vez de GetSharedDefaultFolder, mas não entendo como usá-lo.Existe uma maneira de percorrer todas as pastas de nível superior?Como posso determinar o EntryID e o StoreID da pasta?
Obrigado!
Solução
Você pode usar o membro da coleção Pastas do objeto Outlook.NameSpace.Dessa forma, você pode percorrer a coleção e encontrar sua pasta pelo nome.Caso ainda queira usar GetFolderFromID, você pode usar Espião do Outlook ferramenta para obter os valores EntryID e StoreID.