2016-01-18 60 views
1

我要讀用下面的代碼從Office 365的電子郵件,但它沒有連接到服務器:閱讀從Office 365郵箱在java中

private void init() 
{ 
    try{ 
     Properties smtpProps = new Properties(); 
     smtpProps.put("mail.host", "192.168.10.18"); 
     smtpProps.put("mail.port", "995"); 
     smtpProps.put("mail.transport.protocol", "imaps"); 

     session = Session.getInstance(smtpProps, 
        new javax.mail.Authenticator() { 
        protected PasswordAuthentication getPasswordAuthentication() { 
         return new PasswordAuthentication("[email protected]","test"); 
        } 
        }); 
      System.out.println("session = "+session); 

     Store store = session.getStore("imaps"); 
     store.connect(); 
     Folder inbox = store.getFolder("INBOX"); 
     inbox.open(Folder.READ_WRITE);   
     Message messages[] = null; 
     messages = inbox.search(new FlagTerm(new Flags(Flag.SEEN), false)); 
     System.out.println("leng = "+messages.length); 
    }catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 
+0

什麼是堆棧跟蹤? –

回答

0

在命令提示符下執行此命令。 如果您以「連接到192.168.10.18 ...無法打開與主機的連接,端口995:連接失敗」的方式獲得響應,則問題在於您與防火牆的連接。

C:\>telnet 192.168.10.18 995 
+0

javax.mail.MessagingException:連接被拒絕:connect; 嵌套的異常是: java.net.ConnectException:連接被拒絕:連接 在com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:461) 處於javax.mail.Service.connect(Service.java: 258) (位於javax.mail.Service.connect(Service.java:137) (位於ReadMail的ReadMail.init(ReadMail.java:62) )處的javax.mail.Service.connect(Service.java:86) 。 main(ReadMail.java:38) – Prabhu

+0

在CMD提示符下執行此命令。如果以「連接到192.168.10.18 ......無法打開與主機的連接,端口995:連接失敗」的方式得到響應,問題是與防火牆連接。 C:\> telnet 192.168.10.18 995 – Venkadesh

+0

發送郵件其工作正常,但讀取是問題 – Prabhu