我正在开发一个outlook应用程序,并且知道Folder对象是新的,它取代了早期版本中使用的MAPI.Folder。现在的问题是: 1.我想通过使用Folder对象读取.pst文件,以便它能够分别检索包含传入邮件(收件箱文件夹)和传出邮件的所有文件夹。 2.为此,我需要区分我无法找到任何方法/属性的文件夹类型? 3.目前我必须传递MAPI文件夹作为根文件夹通过它成功遍历但它也选择了Calendar对象和Deleted Folder以及我不想要的(因为我告诉我想要收到来自所有的邮件)收件箱类型文件夹和已发送邮件)。
提前致谢。
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);
}
}
}
答案 0 :(得分:0)
你试过吗
if (item.GetType() == typeof( Outlook.MailItem )) {
Outlook.MailItem mi = (Outlook.MailItem)item;
这使您可以访问更多属性和方法。