【问题标题】:Determine if the selected email is from inbox or sent items确定所选电子邮件是来自收件箱还是已发送邮件
【发布时间】:2012-08-10 02:16:17
【问题描述】:

我正在编写 Outlook 插件,需要确定所选电子邮件是来自 Inbox 还是 Sent Items,以便我可以使用 folder="Inbox" 或 "发送”当我将它保存在我的数据库中时。

我知道我可以将文件夹名称与收件箱或已发送邮件进行比较并确定文件夹,但是,我如何确定所选电子邮件何时位于收件箱的子文件夹之一中。是否有FolderType 属性来检查所选电子邮件的文件夹是inbox 还是sent类似于使用OlItemType 识别项目类型 )?

【问题讨论】:

    标签: c# outlook vsto outlook-addin


    【解决方案1】:

    您需要查看MailItem.Parent 并将其转换为Outlook.Folder。拥有Folder 后,您可以通过Folder.Name 访问显示名称。如果要判断选中的项目是否为Inbox的子文件夹,则需要递归调用Parent树直到Parent为空才能找到根父文件夹。

    Outlook.Explorer explorer = Globals.ThisAddIn.Application.ActiveExplorer();
    Outlook.MailItem mailItem = explorer.Selection.OfType<Outlook.MailItem>().First();
    Outlook.Folder parentFolder = mailItem.Parent as Outlook.Folder;
    if (parentFolder.Parent == null) // we are at the root
    {
      string folderName = parentFolder.Name;
    }
    else
      // .. recurse up the parent tree casting parentFolder.Parent as Outlook.Folder...
    

    您显然应该在此示例代码中添加错误处理对象处理

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 2012-08-29
      • 2011-06-07
      • 2013-12-02
      • 2011-09-14
      • 2017-07-23
      • 2013-12-28
      相关资源
      最近更新 更多