我正在开发一个 Outlook 应用程序,并了解到 Folder 对象是新的对象,它取代了早期版本中使用的 MAPI.Folder。现在的问题是: 1. 我想使用 Folder 对象读取 .pst 文件,以便它能够分别检索包含传入邮件(收件箱文件夹)和传出邮件的所有文件夹。2.为此,我需要区分我无法找到任何方法/属性的文件夹类型?3. 目前,我必须将 MAPI 文件夹作为根文件夹传递,通过它成功遍历,但它也获取日历对象和已删除文件夹以及我不想要的(正如我告诉我想从所有收件箱类型的文件夹和已发送的邮件)。
提前致谢。
Outlook.MAPIFolder inboxFolder = outlookNs.Stores[pstName].GetRootFolder(); //
getIncomingMails(inboxFolder);
private void getIncomingMails(Outlook.MAPIFolder rootFolder)
{
List<Outlook.MailItem> mailItems = new List<Outlook.MailItem>();
Outlook.Folders subFolders = rootFolder.Folders;
foreach (Outlook.Folder folder in subFolders)
{
Debug.WriteLine(folder.GetType().ToString());
var restrictedItems = folder.Items.Restrict(filter);
restrictedItems.Sort("[ReceivedTime]", true); //descending
foreach (var item in restrictedItems)
{
if (item is Outlook.MailItem)
{
mailItems.Add(item as Outlook.MailItem);
}
}
}