【问题标题】:Java Mail Listening For Messages POP3Java 邮件侦听邮件 POP3
【发布时间】:2013-04-26 10:22:45
【问题描述】:

我正在尝试使用 POP3 协议收听新消息。我知道 Pop3 在文件夹打开时不允许新邮件出现在收件箱中。下面是我实现的代码:

import javax.mail.event.MessageCountAdapter;
import javax.mail.event.MessageCountEvent;

public class EmailListener extends MessageCountAdapter {

public EmailListener() {

}

public void messagesAdded(MessageCountEvent e) {
    System.out.println("I");
}

public void messagesRemoved(MessageCountEvent e) {
    System.out.println("J");
}
}

public class POPReceiver {

 public POPReceiver() {

 }

public void listen() throws Exception {
    Properties properties = new Properties();
    Session session = null;
    POP3Store pop3Store = null;
    String host = "NB-EX101.example.com";
    String user = "user2";
    properties.put(mail.pop3.host, host);
    session = Session.getDefaultInstance(properties);
    pop3Store = (POP3Store) session.getStore("pop3");
    pop3Store.connect(user, "password");
    Folder folder = pop3Store.getFolder("INBOX");
    folder.addMessageCountListener(new EmailListener());
    sendEmail();
}

public void sendEmail() {
    // not added code, but the email sends
}
}

public static void main(String[] args) throws Exception {
      POPReceiver i = new POPReceiver();
      i.listen();
 }

我正在使用 Microsoft Exchange Server。任何想法为什么它不听?

我看过http://www.coderanch.com/t/597347/java/java/Email-Listener,但还是不听。

【问题讨论】:

    标签: java smtp jakarta-mail pop3


    【解决方案1】:

    来自 Javamail 常见问题解答 (http://www.oracle.com/technetwork/java/javamail/faq/index.html):


    :我设置了MessageCountListener(如监控程序中所示),但我的 POP3 收件箱中从未收到新邮件通知。

    A:当收件箱打开时,POP3 协议不允许客户端看到发送到收件箱的新消息。应用程序必须关闭收件箱并重新打开它才能看到任何新消息。使用带有 POP3 的MessageCountListener 界面将永远不会通知您有新邮件。有关详细信息,请参阅 com.sun.mail.pop3 包文档。


    因此,MessageCountListener 不适用于 POP3。您需要实施轮询以获取有关 POP3 新消息的信息。

    不过,您可以尝试改用 IMAP。

    但即使在 IMAP 的情况下,您也应该以另一种方式使用它。请参阅 IMAPStore 类中的 idle() 方法(例如,在单独线程中的循环中调用等 - 请参阅 https://javamail.java.net/nonav/docs/api/com/sun/mail/imap/IMAPStore.html#idle() )。

    【讨论】:

    • 你解释得很好......你能提供一个链接,我可以得到IMAP plz的配置......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多