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

标签 c# outlook vsto outlook-2010

我正在通过 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”的子文件夹,如下所示。

An image of a user-created subfolder in Outlook-2010

最佳答案

谢谢大佬指点。但是,我最初在实现时遇到了一些麻烦。这是我解决它的方法,以防万一有人遇到同样的问题。

Outlook.MAPIFolder parentFolder = mailItemToDelete.Parent as Outlook.MAPIFolder;
string FolderLocation = parentFolder.FolderPath;

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

关于c# - 如何检索邮件项目的 Outlook 文件夹 (Outlook.MailItem)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011029/

相关文章:

c# - 在 ASP .NET MVC 中选择图表库

c# - 将值从表单传递到文本框

c# - 以编程方式生成的数字签名电子邮件在 Outlook 中显示正确,但在 Gmail 中显示错误

c# - 如何获取用户的exchange/outlook/office365照片?

c# - HttpException - Chrome 中超出了最大请求长度

c# - 如何在 Linux 上将 DNX 'console app' 作为后台服务运行?

c# - 如何从电子邮件中获取收件人

outlook - 如何理解outlook 2007数据存储的命名空间

c# - Excel VSTO 中的 Form.Show(IWin32Window) 方法在应用程序关闭时导致 ThreadAbortException

deployment - 部署后出现ClickOnce错误-计算出的哈希值与 list 中指定的值不同