做邮件客户端遇到一个很窝火的问题

背景:采用eclipse rcp技术,结合javamail基于IMAP,POP3协议,来做一个收发邮件的客户端小程序。为了提高效率想到本地储存,配合使用正反序列化等手断。现在遇到的最大的问题是。怎么判断服务器上的新邮件,我想到的思路是。采用时间来比较,首选获取本地存储的邮件距今最近的一封邮件,然后与inbox中的message比较。问题来了,当服务器上的邮件数据较大,附件多时。通过JavaMail API取每个message时基本上就直接暴掉了。(注:我使用的是163的邮箱,目前有810封邮件,其中有二十封左右邮件附件近15M)。参生这个的原因我的推测是,Message message[] = folder.getMessages(); message[0].getSentDate();上面第二句,调用时API底层会将整封邮件的内容下载到缓存,然后解析出相应的内容。其实我想要的发送邮件的时间,是在头部,有没有方法可以只取头部信息,这样的话速度应该会快很多。我在outlook下尝试过,性能很好。不知道他是怎么实现的。希望得到高手指点!先谢谢了。

你可能感兴趣的:(eclipse,socket)