2017-06-06 111 views
0

我已经使用JavaMail API Imap协议提取所有Gmail邮件并以表格格式显示,但现在问题是如何将其删除? 点击该邮件必须被删除,所有使用协议的连接都会丢失,我想删除该邮件。同步Gmail邮件

回答

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。然后,如果它仍然存在于服务器上,您将能够删除该消息。

+0

Thanku sir!求助。我想在我想要删除的邮件上想我会发送该邮件的日期,并在IMAP代码中,我将使该邮件标志删除启用 – Yash

+0

我不明白。 –

+0

假设我失去了与Gmail服务器的连接,然后单击我将传输日期和确切时间我收到的邮件,我会建立连接,但这次只有相同的时间和日期的邮件将被提取和删除标志将为该邮件启用,因此邮件将被删除。 – Yash