gpt4 book ai didi

java - 从 IMAP 读取电子邮件 - 处理时如何将其标记为“已读”?

转载 作者:太空宇宙 更新时间:2023-11-04 10:31:57 24 4
gpt4 key购买 nike

我正在使用 JODD 邮件库阅读和处理从 IMAP 收到的电子邮件。 API 非常好,但我遇到了一个逻辑问题。我使用的代码如下:

EmailFilter filter= new EmailFilter();
filter.flag(Flags.Flag.SEEN, false);
session.receiveEmailAndMarkSeen(filter);

通过调用 session.receiveEmailAndMarkSeen 我收到所有未读电子邮件,并且这些电子邮件被标记为立即已读。现在,当我的代码由于任何原因处理失败,并且我尝试再次接收电子邮件时,所有这些未处理的电子邮件都会被标记为已读并且不再下载。我宁愿下载电子邮件并将其标记为单独阅读,因为已成功处理。

所以我尝试使用 session.receiveEmail 接收它们,但不确定如何在处理时将它们标记为已读?有什么提示如何做吗?我可以看到电子邮件对象具有我可以设置的“标志”属性,但不确定如何将此信息发送回服务器。

最佳答案

总结可能的解决方案:

  1. 重新获取带有 Seen 标志的电子邮件。缺点是需要再次获取电子邮件。

  2. 您编写的内容 - 使用 session 文件夹

  3. 最后 - 从 Jodd 的下一个版本开始,您将拥有方法 updateEmailFlags,该方法将为您提供仅调用它的选项:

    mymail.flags(newFlags);ReceiveMailSession.updateEmailFlags(mymail);

结果是一样的。

关于java - 从 IMAP 读取电子邮件 - 处理时如何将其标记为“已读”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49892965/

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