Rabee3-F1.787545 Ответов: 1

Мне нужно получить все сообщения во всех подпапках моего почтового ящика, а не только в папке "Входящие"


В этом коде я мог бы видеть все сообщения и указывать только непрочитанные сообщения но моя проблема он показывает мне только сообщения в моей папке Входящие главная папка все подпапки исключены

private void GetUnreadEmails4()
        {

            OutLook.Application myApp;
            myApp =new OutLook.Application();
            NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");

            
            MAPIFolder myInbox = mapiNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

            Items oItems = myInbox.Items.Restrict("[UnRead] = true");
            //Items oItems = myInbox.Items.Restrict("[UnRead] = true");
            MessageBox.Show(oItems.Count.ToString());

            foreach (dynamic item in oItems)
            {
                try
                {
                    var oMsg = (MailItem)item;
                    listBox1.Items.Add(oMsg.Subject.ToString());
                }
                
                catch (System.Exception)

                {
                    

                }

            }
        }


Что я уже пробовал:

MAPIFolder мой почтовый ящик = mapiNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

Я знаю, что проблема здесь, но понятия не имею, пожалуйста, помогите

1 Ответов

Рейтинг:
2

MadMyche

У Microsoft есть много документации по работе с Outlook и папками внутри него
Работа с папками - Visual Studio | Microsoft Docs[^]

Более старый образец от MS, но это может быть как раз то, что вам нужно, чтобы спуститься на тот уровень, который вы ищете
Перечисление папок | документы Майкрософт[^]