JavaMail如何删除和收取最新邮件信息?
最近一直在开发一个邮件系统,利用的邮件服务器是免费的,无法设置收取协议,即只能为默认的pop3协议,现在我已无法更换别的邮件服务器,只能使用pop3来收取邮件,但据我了解,pop3只支持删除标记,但查阅javamail api文档,它只能提供如下方法:
********************************************************
要删除消息,需要为消息设置DELETED标志:
message.setFlag(Flags.Flag.DELETED, true);
第一次以READ_WRITE(读-写)模式打开文件夹:
folder.open(Folder.READ_WRITE);
然后,处理完了所有的消息,请关闭文件夹,并传递true值以擦去删除的消 息。
folder.close(true); ///我不想使用这种方法
用户可使用Folder类的expunge()方法来删除消 息。但是,该方法对Sun公司的POP3提供程序不起作用。其他提供程序或许能也或 许不能实现其功能。它更有可能适用于IMAP提供程序。由于POP只支持对收件箱 的简单访问,使用Sun公司的提供程序时,您将不得不关闭文件夹以删除消息。
********************************************************
根据以上说明,我将不得不关闭文件夹才能达到删除消息的目的,我这部分是一个oa系统里一个功能模块,关闭文件夹就意味着我必须重新打开文件夹才能对未删除的邮件进行其他操作,而重新打开文件夹需要重新登陆整个oa系统才能实现接收邮件,我想知道有没有什么好的方法可以避免使用这种方法,我始终不明白关闭文件夹是否意味着需要重新连接邮件服务器(明白人最好能给个清楚的解释)。
再有就是如何接收新的邮件,我现在只是接收第一次登陆后里收件箱里的邮件,如果不重新登陆,我无法接收最新邮件,我想知道在不重新登陆的情况下怎样实现收取最新邮件的方法,最好能有代码说明一下,不甚感谢!!!
写得太多,不知道大家有没有明白我的问题所在,分数不够可以再加,直到解决为止!谢谢了!