将 Javamail 文件夹备份到本地磁盘



我正在尝试使用JavaMail API将整个邮箱保存到磁盘上(本质上,执行完整的backup_。我可以成功地将所有相关文件夹读入内存,然后切断与邮件服务器的连接。我无法弄清楚的是,如果需要,如何在磁盘上实际存储文件夹和/或单个消息。

我尝试四处搜索并想出了一个有趣的链接(如下),但无法弄清楚。有人对从哪里开始有任何建议吗?我很感激,谢谢

http://www.oracle.com/technetwork/java/javamail/faq/index.html#serialize

快速说明:我尝试使用一个包含文件夹(JavaMail 类)类型的 ArrayList 的类并使其可序列化,但是当我尝试写入磁盘时,我仍然抛出异常。我已经处理这个问题大约两天了,我可以使用一些指针。谢谢!

您找到了常见问题解答,但错过了此条目:

  • 如何将邮件存储在本地磁盘上?

而且,正如您找到的常见问题解答条目所说,您不能只序列化 Message 对象,更不用说序列化文件夹对象了。

如果这一切对您来说似乎太复杂了,最简单的方法可能是获取在本地计算机上运行的 IMAP 服务器,然后将邮件从远程 IMAP 服务器复制到本地 IMAP 服务器。 JavaMail FAQ提供了指向可以在本地安装的IMAP服务器的指针,并且稍微进行Web搜索就会发现更多。 JavaMail还附带了一个用于复制文件夹的演示程序(填充.java)。