2011-01-06 25 views
4

Gmailからメールを取得していますserver.weはプロキシなしでGmailサーバに接続できます。私たちの大学にはプロキシ設定があるので、システムプロパティを設定してもgmailserverに接続できませんでした。ブラウザからgmail.comに接続できましたが、私たちのプログラムから接続できませんでした。プロキシ経由でメールを取得する際にエラーが発生する

Properties props = System.getProperties(); 
props.setProperty("http.proxyHost", "proxyhost"); 
props.setProperty("http.proxyPort", "proxynumber"); 
props.setProperty("mail.imap.socketFactory.class", SSL_FACTORY); 
props.setProperty("mail.imap.socketFactory.fallback", "false"); 
props.setProperty("mail.imap.port", "993"); 
props.setProperty("mail.imap.socketFactory.port", "993"); 
props.put("mail.imap.host", "imap.gmail.com"); 
Session session = Session.getDefaultInstance(props, null); 

store = session.getStore("imap"); 
store.connect(dialog.getServer(),dialog.getUsername(),dialog.getPassword()); 

我々は

java.net.UnknownHostException: imap.gmail.com 
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:618) 
at javax.mail.Service.connect(Service.java:291) 
at javax.mail.Service.connect(Service.java:172) 
at EmailClient.connect(EmailClient.java:373) 
at EmailClient.main(EmailClient.java:475) 
by: java.net.UnknownHostException: imap.gmail.com 
at java.net.PlainSocketImpl.connect(Unknown Source) 
at java.net.SocksSocketImpl.connect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source) 
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(Unknown Source 

at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284) 
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:201) 
at com.sun.mail.iap.Protocol.<init>(Protocol.java:109) 
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:104) 

at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:585) 
+1

を設定することができますサーバー上で「nslookup imap.gmail.com」を実行できますか?また、O/Sとは何ですか? – trojanfoe

+1

あなたもsmtpをプロキシしているのですか? –

答えて

0

チャンスはあなたのプロキシがNTLM認証を使用して、私はJavaとNTLM認証を使用して、過去に問題を持っていたということです。この例外を取得します。実際にあなたに問題を与えるプロキシであるかどうかは分かりません。

いずれの場合でも、JavaMail APIを直接使用する代わりに、GMail API for Java g4jを使用してみるとよいでしょう。これは一般的にgmailを扱う複雑さの大部分を抽象化します。

ハッピーコーディング!

0

JavaMailはnot currently supportメールサーバー にWebプロキシサーバー経由でアクセスします。

プロキシサーバでSOCKS V4またはV5プロトコルをサポートし、 匿名接続を可能にし、あなたはJDK 1.5以降とのJavaMail 1.4.5以降を使用している場合は、SOCKSプロキシ

関連する問題