我需要通过Java将消息从IMAP文件夹移到另一个IMAP文件夹(同一帐户)。
我使用Gmail和oauth登录。
我使用java imap邮件客户端:我用sourceFolder.getMessages()获取消息,然后我调用
方法destFolder.appendMessages(sourceFolder.getMessages())
或addMessages
:当要移动的消息数太大时出现的问题。我有移动8000邮件,登录会话在几分钟后过期,程序已开始添加但尚未完成。
它处理大约1条消息,我使用oauth登录
答案 0 :(得分:1)
执行此操作的常规方法是使用服务器复制和删除。在IMAP语法中,复制命令为tag COPY sequence mailboxname
。例如:a000 COPY 1:* INBOX.Saved
,会将所有邮件复制到我保存的子文件夹。
您正在执行的方法需要下载每条消息,然后重新上传。