gpt4 book ai didi

java - EWS Java 如何查找早于 xx 天的电子邮件并一次性删除所有邮件

转载 作者:行者123 更新时间:2023-12-02 03:22:15 25 4
gpt4 key购买 nike

我想在文件夹中查找早于 xx 天的项目,并删除一次找到的所有项目。我能够找到符合我的标准的项目。这是我的代码。

import org.joda.time.DateTime;
int purgeDays = 14;

try {

ItemView view = new ItemView(Integer.MAX_VALUE);

Folder purgeFolder = Folder.bind(service, folderId);

// need to convert to get Mon Sep 12 16:31:27 CDT 2016
SearchFilter searchFilter = new SearchFilter.IsLessThanOrEqualTo(ItemSchema.DateTimeReceived, (DateTime.now().minusDays(purgeDays).toDate()));

FindItemsResults<Item> emailsToPurge = service.findItems(purgeFolder.getId(), searchFilter, view);

if (emailsToPurge != null && emailsToPurge.getItems() != null && emailsToPurge.getTotalCount() > 0 ) {

// want something to delete all items at once
emailsToPurge.deleteAll();

} else {
log.info("Found no emails to purge for Mailbox-"+ userName);
}

} catch (Exception e) {
log.error("Exception "+ e.getMessage());
}

最佳答案

查看 ExchangeService 类上的 deleteItems 方法 https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.exchangeservice.deleteitems(v=exchg.80).aspx这允许您发送批量删除项目请求。我建议您对删除进行分页,但一次不要超过 1000 个项目,否则您可能会遇到限制和/或请求超时的问题。

关于java - EWS Java 如何查找早于 xx 天的电子邮件并一次性删除所有邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com