【发布时间】:2018-04-18 06:48:08
【问题描述】:
我正在使用 JODD 邮件库阅读和处理从 IMAP 收到的电子邮件。 API 非常好,但我在一个逻辑问题上苦苦挣扎。我使用的代码如下:
EmailFilter filter= new EmailFilter();
filter.flag(Flags.Flag.SEEN, false);
session.receiveEmailAndMarkSeen(filter);
致电session.receiveEmailAndMarkSeen,我会收到所有未读的电子邮件,这些邮件会立即标记为已读。现在,当我的代码由于任何原因处理失败时,我尝试再次接收电子邮件,所有这些未处理的电子邮件都被标记为已读并且不再下载。我宁愿下载电子邮件并将它们标记为已成功处理的个人阅读。
所以我尝试使用session.receiveEmail 接收它们,但不确定如何在处理时将它们标记为已读?任何提示如何做到这一点?我可以看到电子邮件对象具有我可以设置的“标志”属性,但不确定如何将此信息发送回服务器。
【问题讨论】:
-
快速想法:1) 将电子邮件下载为未读 2) 处理后,只需再次下载电子邮件为 Seen?同时,将在 java mail api 中检查这是否可行。
-
如果您解决了自己的问题,请将您的解决方案作为答案发布(并在超时后接受)。不要将解决方案添加到问题本身:这不是 Stack Overflow 应该如何工作的。
标签: java email jakarta-mail imap