JavaMail是否支持服务器推送?

Tim*_*imo 11 email push jakarta-mail

JavaMail是否支持通过服务器推送通知新电子邮件?

如果是,那么该文件在哪里?如果没有,是否有可以执行此操作的库?

cas*_*sey 11

您应该使用IMAPFolder的idle函数向服务器发出idle命令.然后,它将侦听事件,例如新邮件或已删除的邮件.(请参阅IMAP规范以查看消息的外观).MessageCountListener当邮箱中的许多电子邮件发生变化时,您应该使用a 来执行代码.

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的

对不起,我没有发布任何显示如何使用它的代码.我不想浪费我的时间,因为如果你搜索这些东西,互联网上有很多现成的例子.

但是要预先警告,由于idle命令阻塞,此方法不适用于多个IMAP帐户.除非你想要所有人都在不同的线程上(糟糕的主意).

  • 数字"3"只是一个随机数来解释我的意思.实际上我的程序将不得不同时处理数以千计的IMAP连接.我想这里的线程并不是一个好主意. (2认同)