如何检索邮件项的Outlook文件夹(Outlook.MailItem)?
我通过inboxFolder = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox
获取我的默认收件箱文件夹
在我的代码的其他地方,我开始做foreach循环,从这些MailItems中提取我想要的特定信息
foreach (var item in this.inboxFolder.Items) { Outlook.MailItem mailItem = (Outlook.MailItem)item; //.... doing stuff here string SenderEmail = mailItem.SenderEmailAddress; string SenderName = mailItem.SenderName; string FolderLocation = mailItem.???; //how to retrieve folder location? //.... more stuff here }
例如:用户可能创建了一个名为“Test”的子文件夹,如下所示。
你的意思是文件夹路径? 使用MAPIFolder.FullFolderPath。 如果您只需要名称,请使用MAPIFoldert.Name。
另外请记住,文件夹中的所有项目的值都是相同的,因此没有理由在循环的每个步骤中对其进行评估。
谢谢指针家伙。 但是我最初在执行相同操作时遇到了一些麻烦。 以下是我如何解决它,以防万一有人面临同样的问题。
Outlook.MAPIFolder parentFolder = mailItemToDelete.Parent as Outlook.MAPIFolder; string FolderLocation = parentFolder.FolderPath;
Parent对象是动态的,因此导致问题。