Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检索邮件项目(Outlook.MailItem)的Outlook文件夹?_C#_Outlook_Vsto_Outlook 2010 - Fatal编程技术网

C# 如何检索邮件项目(Outlook.MailItem)的Outlook文件夹?

C# 如何检索邮件项目(Outlook.MailItem)的Outlook文件夹?,c#,outlook,vsto,outlook-2010,C#,Outlook,Vsto,Outlook 2010,我通过inboxFolder=Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox 在代码的其他地方,我开始执行foreach循环,从这些邮件中提取我想要的特定信息 foreach (var item in this.inboxFolder.Items) { Outlook.MailItem mailItem = (Outlook.MailItem)item

我通过
inboxFolder=Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox

在代码的其他地方,我开始执行foreach循环,从这些邮件中提取我想要的特定信息

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;

父对象是动态的,因此导致了问题。

您需要检查
父对象
属性。请参阅:谢谢您的回答,我正在对其进行评估,但我想指出的是,如果我的默认收件箱文件夹中有子文件夹,则主文件夹路径上的foreach循环中有子文件夹项。看起来我可能需要重新设置计算每个项目的MAPIFolder.Name(如果是这种情况)。