【问题标题】:EWS.FindItems returns more items than expected from the Inbox folder?EWS.FindItems 从收件箱文件夹返回的项目多于预期?
【发布时间】:2014-12-16 16:06:36
【问题描述】:

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

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

在执行FindItems 时,我最终找到了一封更旧的电子邮件,其中DateTimeReceived 属性值2004-08-15?

我唯一能想到的另一件事是,使用 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 访问时,我在任何邮箱文件夹中都找不到它。

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

我在 Internet 上找不到有关该主题的任何信息。

更新

经过进一步调查,根据这些简单的步骤,提供的代码示例被证明是无罪的:

  1. 选择收件箱文件夹,右键点击属性

  1. 收件箱属性,在常规选项卡中,点击“显示所有项目的数量”(可能与实际的英文版本不同,因为我自己翻译了,我认为可能是英文)

  1. 现在回到收件箱文件夹,我们可能会看到实际上有那么多项目。

所以似乎我的代码是正确的,但虽然这个总计报告到35,但选择了此收件箱文件夹时,我只看到上述五个电子邮件。

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

【问题讨论】:

  • Boite de reception 是收件箱吗? (在我更进一步之前,可能只是我的语言障碍)。 (快速谷歌的意思是“接收箱”,所以它是有道理的,但仍想验证)。
  • @BradChristie:是的,在法语中,“收件箱”由“Boîte de réception”翻译。 =)

标签: email exchangewebservices


【解决方案1】:

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

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

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

  1. OWA验证自己

  2. 点击他的名字打开下拉列表,输入邮箱即可访问

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-08
    • 2011-12-22
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多