EWS.FindItems从收件箱文件夹返回的项目多于预期?

时间:2014-12-16 16:06:37

标签: email exchangewebservices

在收件箱文件夹中,我只有5封电子邮件(如图所示4封未读,已阅读一封)。

**Inbox Folder**

另外,在每个搜索文件夹中,例如未读邮件跟进等。我有很多电子邮件(超过1,000),最老的是2011年(收到日期/时间)。

执行FindItems时,我最终找到了{2004年1月15日DateTimeReceived财产价值更高的电子邮件?

我能想到的另一件事是,使用 FindItems 方法也可以从已存档的电子邮件中获取电子邮件,可能是吗?

getInboxItems

private FindItemsResults<Item> getInboxItems() {
    var inboxFolderId = new FolderId(WellKnownFolderName.Inbox
                                    , mailboxConfiguration.MailboxName);
    var allItems = new ItemView(int.MaxValue) {
        Traversal = ItemTraversal.Shallow
        , PropertySet = new PropertySet(EmailMessageShema.DateTimeReceived
            , EmailMessageSchema.LastModifiedTime)
    };
    var foundItems = Service.FindItems(inboxFolderId, allItems);
    return foundItems;
}

这会返回大约40封电子邮件,其中包含2004年最旧的过时电子邮件,在通过Outlook访问时,我无法在任何邮箱文件夹中找到它。

简短的问题是:会发生什么?

我无法通过互联网找到有关此主题的任何内容。

  

更新

经过进一步调查后,根据以下简单步骤证明所提供的代码示例无可挑剔:

  1. 选择“收件箱”文件夹,右键单击并单击“属性”
  2. **Inbox Properties**

    1. 收件箱属性,在常规标签中,点击&#34;显示所有项目的数量&#34; (可能与实际的英文版本不同,因为我已将自己翻译成我认为可能是英文版本)
    2. **Display All Items**

      1. 现在回到收件箱文件夹,我们可能会发现实际上有很多项目。
      2. **Inbox folder total count of items**

        所以看起来我的代码是正确的,虽然这个总计数报告为35,但当选择此收件箱文件夹时,我只看到上面提到的五封电子邮件。

        我认为这可能是由于存档的项目,我已经确认存档的电子邮件被移动到外部存档工具并从Exchange中删除,这让我一无所知。

1 个答案:

答案 0 :(得分:0)

原来是导致这个问题的私人物品。

除了将这些项目设为私有的用户之外,私人项目对其他人不可见,并且仍然是收件箱文件夹中包含的项目的一部分。

一旦证明是私人物品,就可以:

  1. OWA

    验证自己

    **OWA Authentication**

  2. 点击他的名字打开下拉列表并输入邮箱进行访问

    **OWA Access target Inbox**

  3. 一旦访问,就可以看到旧项目并考虑删除它们

  4. 删除所有这些项目后,一切都恢复正常, EWS.FindItems 报告了正确的项目数量,就像以往一样。

    所以问题确实存在于奖牌的Exchange端的收件箱中,而不是EWS侧。