java - 无法通过将 JavaxMail 与 POP3 服务器一起使用来删除电子邮件
问题描述
我一直在使用 JavaxMail pop3 服务器来阅读用户电子邮件收件箱。有时虽然我在处理后删除了消息,但仍然可以阅读该消息。事实上,它实际上并没有删除消息,因此服务器多次处理相同的消息。
这是一个示例代码片段
Folder folderInbox = store.getFolder("INBOX");
folderInbox.open(Folder.READ_WRITE);
// fetches new messages from the server
Message[] messages = folderInbox.getMessages();
for(Message msg : messages){
try {
if(!msg.getFolder().isOpen()) { //Determine whether to open specific message folder
msg.getFolder().open(Folder.READ_WRITE); //If close, reopen
}
prcocessMessage(msg);
msg.setFlag(Flag.DELETED, true);
} catch(Throwable ex) {
//If exception happens message will not be deleted
logger.error("Unexpected Exception: ", ex);
}
}
// disconnect
folderInbox.close(true);
store.close();
我曾尝试在删除后对消息使用 saveChanges(),但无法达到结果。如何停止对单个电子邮件的多次处理?
解决方案
推荐阅读
- linux - 在 cpanel (crontab) 上更改 cron 作业的时区
- angular - 订阅 Angular 9 组件上可观察到的变化的适当位置
- sql - Athena UNION - 我需要定义结构列吗?
- javascript - 使用 JavaScript 获取 url 参数的站点加载时间
- debian - 如何在 Debian 上修复 apt-get 的“无法找到软件包”?
- nestjs - Nestjs applyDecorators 用于多个装饰器
- android - ndk.abiFilters 在幕后做什么?
- python - 在导入的模块中打开文件
- node.js - Firebase:解析触发器错误:找不到模块需要堆栈:将函数目录中的key.json添加到admin.js文件中得到此错误
- arrays - 如何更新包含数组中对象数组的对象数组