JavaMail 是否支持通过服务器推送通知新邮件?
如果是,那文档在哪里?
如果没有,是否有图书馆可以做到这一点?
最佳答案
您应该使用 IMAPFolder 的 idle
函数向服务器发出空闲命令。然后将监听事件,例如新邮件或已删除邮件。 (请参阅 IMAP 规范以了解消息的外观)。当邮箱中的许多电子邮件发生变化时,您应该使用 MessageCountListener
来执行代码。
IMAP 的空闲功能正是为了模仿“推送”功能。
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 帐户。除非你希望它们都在不同的线程上(坏主意)。
关于email - JavaMail 是否支持服务器推送?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4389994/