从noreply.anyhost.com读取邮件收件箱时发生异常

时间:2015-09-22 07:38:02

标签: java

我在我的系统上运行以下代码它工作正常,我可以从noreply.anyhost.com获取所有未读邮件:

public void downloadEmailAttachments(String emailId) throws Exception
{
    Properties props = System.getProperties();
    props.setProperty("mail.store.protocol", "imap");

    Session session = Session.getDefaultInstance(props,null);

    Store store = session.getStore("imap");
    store.connect("mail.anyhost.com", "noreply@anyhost.com", "123354");//Exception occurred at this line only 

    Folder folderInbox = store.getFolder("INBOX");
    folderInbox.open(Folder.READ_WRITE);

    Flags seen = new Flags(Flags.Flag.SEEN);

    FlagTerm unseenFlagTerm = new FlagTerm(seen, true);//false for reading only unread message

    Message messages[] = folderInbox.search(unseenFlagTerm);

    for (int i = messages.length - 1; i >= 0; i--)
    {
        Message message = messages[i];

        Address[] fromAddress = message.getFrom();

        Flags flags = message.getFlags();
        flags.getUserFlags();

        from = fromAddress[0].toString();

        Address[] replyAddress = message.getReplyTo();
        String replto=replyAddress[0].toString();

        subject = message.getSubject();
        sentDate = message.getSentDate().toString();

        contentType = message.getContentType();
    }
}

但是每当我在服务器系统上部署这个代码类文件时,它都会给出如下例外:

    Exception occurred.............

    javax.mail.MessagingException: Connection refused;
      nested exception is:
            java.net.ConnectException: Connection refused
            at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:479)
            at javax.mail.Service.connect(Service.java:275)
            at javax.mail.Service.connect(Service.java:156)
            at prg.util.PbMail.downloadFailedEmailInbox(PbMail.java:1813)
            at org.apache.jsp.home_jsp._jspService(home_jsp.java:123)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
            at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
            at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
            at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
            at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:745)
    Caused by: java.net.ConnectException: Connection refused
            at java.net.PlainSocketImpl.socketConnect(Native Method)
            at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
            at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
            at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
            at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
            at java.net.Socket.connect(Socket.java:579)
            at java.net.Socket.connect(Socket.java:528)
            at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:232)
            at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
            at com.sun.mail.iap.Protocol.<init>(Protocol.java:84)
            at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:87)
            at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:446)
            ... 26 more

我做错了什么?

0 个答案:

没有答案