同步Gmail邮件

时间:2017-06-06 16:20:40

标签: gmail javamail imap

我使用JavaMail API Imap协议获取了所有Gmail邮件,并以表格格式显示它们,但现在问题是如何删除它们? 点击该邮件必须删除,使用协议的所有连接都将丢失,我想删除该邮件。

1 个答案:

答案 0 :(得分:0)

一旦您失去与服务器的连接,您就可以在"断开连接"模式。 JavaMail FAQ提供了有关how to handle disconnected mode with IMAP的更多信息的链接。做得好是很多工作。

更简单的方法是尽力确保连接不会不必要地丢失,例如,至少每隔30分钟调用一次Folder.getMessageCount。如果您仍然失去连接(有时会发生 ), 您丢弃所有缓存的数据,重新连接并刷新用户的视图。

如果您只关心能够删除用户可以看到的消息,您可以采取中间方法。您可以保存所有消息的UID(以及文件夹的UIDVALIDITY),当连接丢失时,您将重新连接并get the Message objects for all messages based on UID。然后,如果邮件仍然存在于服务器上,您就可以删除该邮件。