2011-11-21 26 views
2

私は週末にGmail-Imap-Apiで自宅で仕事をしています。それは適切に働いていたしかし、私はオフィスに戻ってここにしようとしているときにそれは例外をスローする。Gmail Imap - オフィスネットワークにいるときに接続できない

Properties props = System.getProperties(); 
    props.put("mail.store.protocol", "imaps"); 
    props.put("mail.smtp.auth", "true"); 

    try { 
     boolean debug = false; 
     Authenticator auth = new SMTPAuthenticator(
       "***", "***"); 

     Session session = Session.getInstance(props, auth); 
     session.setDebug(debug); 
     Store store = session.getStore("imaps"); 
     store.connect("imap.gmail.com", "***@gmail.com", 
       "****"); 
    ...... 
    ...... 

これは自宅でうまくいきました。 今私は、プロキシを追加し、これらのコード行を追加すると思った。

System.setProperty("http.proxyHost", "****.com"); 
    System.setProperty("http.proxyPort", "8080"); 

まだ動作しませんが例外です。

com.google.code.javax.mail.MessagingException: imap.gmail.com; 
nested exception is: 
java.net.UnknownHostException: imap.gmail.com 
at com.google.code.com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:665) 
at com.google.code.javax.mail.Service.connect(Service.java:295) 
at com.google.code.javax.mail.Service.connect(Service.java:176) 
at openReports.OpenReportsProject.main(OpenReportsProject.java:43) 
Caused by: java.net.UnknownHostException: imap.gmail.com 
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) 
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:367) 
at java.net.Socket.connect(Socket.java:524) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:545) 
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141) 
at com.google.code.com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288) 
at com.google.code.com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231) 
at com.google.code.com.sun.mail.iap.Protocol.<init>(Protocol.java:113) 
at com.google.code.com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:110) 
at com.google.code.com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:632) 
... 3 more 
+0

あなたはファイアウォール/プロキシの背後にいる必要があり、Gmail-Imapで使用されているポート(私が推測すると993と思われるポート)をファイアウォールで開く必要があります。 – Santosh

+0

これに今どのようにアプローチするのですか? 私はプロキシ設定を追加しましたか?それはここの目的に役立たないでしょうか? – RaviKiran

+0

私のコメントを更新しました。 – Santosh

答えて

5

入力したプロキシ設定は、HTTP接続でのみ機能します。 IMAPは異なるポート(この場合は993)で動作する別のプロトコルです。ファイアウォールの背後にいる場合、ファイアウォールは外部ホスト:ポートとプロトコルに接続する必要があります。 この場合、ネットワーク管理者にをリクエストする必要があります。設定が完了すると、既定の/指定されたポート上の指定されたプロトコルでGmail IMAPサーバーと通信できます。

関連する問題