C#Outlook通过其特殊类型来区分文件夹

本文关键字:文件夹 类型 C#Outlook | 更新日期: 2023-09-27 18:25:05

我需要检查给定的文件夹是否具有特殊类型。例如,我需要检查一个文件夹是否是发件箱文件夹。我知道我可以用Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox);检索发件箱文件夹但那样我只能访问我主邮箱的发件箱文件夹。由于我使用多个邮箱,这还不够。我知道我可以通过检查文件夹的名称来区分它,但由于名称是本地化的,而且它应该适用于所有语言,所以这是不可接受的解决方案。

或者,也许有一种方法可以检索所有特殊类型的文件夹,比如发件箱,这会让我向前迈进一步。

谢谢你的回复。

C#Outlook通过其特殊类型来区分文件夹

我使用

HashSet<string> excludeFolderIds = new HashSet<string>();
Outlook.Stores stores = application.Session.Stores;
foreach(Outlook.Store store in stores){
    //exclude outbox folder from event
    Outlook.MAPIFolder exclude =  store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox);
    excludeFolderIds.Add(exclude.EntryID);
}

稍后通过调用excludeFolderIds.Contains(folder.EntryID) 检查文件夹是否具有此类型

因此store.GetDefaultFolder(OlDefaultFolder)是从不同帐户获取默认文件夹的关键