如何解决javax.mail.MessagingException:220

时间:2014-08-29 09:57:13

标签: java javamail

我面临以下例外:

javax.mail.MessagingException: 220 cnsmail.company.local Microsoft ESMTP MAIL Service ready at Fri, 29 Aug 2014 05:42:13 -0400;
  nested exception is:
    com.sun.mail.iap.ConnectionException: 220 cnsmail.company.local Microsoft ESMTP MAIL Service ready at Fri, 29 Aug 2014 05:42:13 -0400
    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:569)
    at javax.mail.Service.connect(Service.java:288)
    at javax.mail.Service.connect(Service.java:169)
    at com.cinnova.Email.MailReader.<init>(MailReader.java:59)
    at com.cinnova.Email.MailReader.main(MailReader.java:30)
Caused by: com.sun.mail.iap.ConnectionException: 220 cnsmail.company.local Microsoft ESMTP MAIL Service ready at Fri, 29 Aug 2014 05:42:13 -0400
    at com.sun.mail.imap.protocol.IMAPProtocol.processGreeting(IMAPProtocol.java:230)
    at com.sun.mail.iap.Protocol.<init>(Protocol.java:114)
    at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:104)
    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:538)
    ... 4 more

这是我的代码,我试图连接到邮件服务器以使用Java读取邮件。

Properties props = new Properties();
props.put("mail.imap.port", "25");
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imap");
store.connect(ServerIP, "cma", "C0rnh0le$8");

当系统尝试编译行store.connect(ServerIP, "cma", "C0rnh0le$8");时,它会生成上面提到的异常,我找到了 StackOverflow上有thisthis,但在添加jar后没有得到任何帮助。

定义协议

SMTP - 是发送电子邮件的协议

POP3 - 是接收电子邮件的协议

IMAP - IMAP是Internet消息访问协议的首字母缩写。它是一种用于接收消息的高级协议。

1 个答案:

答案 0 :(得分:2)

默认的IMAP端口是143.您使用的是默认的SMTP端口,25。这应该可以解决您的问题,假设主机/用户名/密码正确无误!

干杯,快乐的编码。