Microsoft.Office.Interop.Outlook GetFolderFromID

时间:2019-02-06 10:52:40

标签: c# outlook

我可以从Outlook中获取默认文件夹没有问题,但是我在努力获取自定义文件夹。我想从前景中名为“ Mass Archive”的文件夹中获取电子邮件 但我正在努力了解如何使用:

.GetFolderFromID()

从我收集的数据来看,它采用的第一个参数是文件夹的名称,例如.GetFolderFromID("Mass Archive")

但是我无法弄清楚应该把什么作为第二个参数的对象。

我真的是新手,所以请像我傻一样向我解释一下事情。

outlookApplication = new Application();
outlookNameSpace = outlookApplication.GetNamespace("MAPI");
//inboxFolder = outlookNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderDeletedItems);
inboxFolder = outlookNameSpace.GetFolderFromID("Mass Archive", "Mass Archive");
mailItems = inboxFolder.Items;

foreach (MailItem item in mailItems)
{
    emailDetails = new OutlookEmails
    {
        EmailFrom = item.SenderEmailAddress,
        EmailSubject = item.Subject,
        EmailBody = item.Body,
        ReceivedTime = item.ReceivedTime
    };
    listEmailDetails.Add(emailDetails);
    ReleaseComObject(item);
}

1 个答案:

答案 0 :(得分:2)

您无需搜索-您可以使用MAPIFolder.Folders["The Folder Name"](其中MAPIFolder是父文件夹)打开它-您只需要知道相对于默认文件夹的位置。例如。如果它与“收件箱”处于同一级别,则可以使用GetDefaultFolder(olFolderInbox),然后使用Inbox.Parent.Folders["The Folder Name"]来检索“收件箱”文件夹。