解决方法
您应该使用IMAPFolder的空闲功能向服务器发出空闲命令.然后,它将收听诸如新邮件或已删除邮件等事件. (请参阅IMAP规范以查看消息的样子).而且当邮箱中的一些电子邮件发生更改时,您应该使用MessageCountListener来执行代码.
http://java.sun.com/products/javamail/javadocs/javax/mail/event/MessageCountListener.html
http://java.sun.com/products/javamail/javadocs/com/sun/mail/imap/IMAPFolder.html
对不起,我没有发布任何显示如何使用的代码.我不想浪费我的时间,因为如果你搜索这个东西,互联网上有很多很容易获得的例子.
但要预先警告,由于空闲命令阻止,此方法将不会对多个IMAP帐户起作用.除非你想要他们所有在不同的线程(坏主意).