私は自分のGmailの受信トレイにjavaでアクセスしようとしています(java mail apiではなく)socketを使っています。 接続は正常に確立されていますが、受信トレイの選択コマンドは認識されません。ここに私のコードです。出力が得られます。gmail imap悪いJavaの不明なコマンド
SSLSocketFactory sslsocketfactory = HttpsURLConnection.getDefaultSSLSocketFactory();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("imap.gmail.com", 993);
BufferedReader sin = new BufferedReader(new InputStreamReader(sslsocket.getInputStream()));
PrintWriter output = new PrintWriter(new OutputStreamWriter(sslsocket.getOutputStream()));
String line;
output.println("A004 LOGIN my-mail-here my-pass-here");
output.println("A005 SELECT [GMAIL]/myinbox");
output.println("A006 LOGOUT");
output.flush();
while ((line = sin.readLine()) != null)
System.out.println(line);
、ここで私が手に出力されます:
* OK Gimap ready for requests from 78.185.154.27 o19if1214052bkq.44
A005 BAD Unknown command o19if1214052bkq.44
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
A004 OK [email protected] my-name my-surname authenticated (Success)
問題であるかもしれないもの?ログインは機能しますが、選択は機能しません。私は始動を試みたが、それも動作しません。
samet error with output.println( "A005 SELECT INBOX "); – nazgulll
実際...私は何が起こっていると思いますか? imapサーバは非同期で、 'select'コマンドを送る前にあなたを認証するのを待っているわけではありません。そのため、あなたの出力のログイン結果の前にエラーが戻ってくるのです。ここでも、imapサーバーに直接接続することで実際のコマンドをテストできます。 –
あなたは私がopensslをdonwloadedし、あなたが私に与えたパラメータと関連していると言った。私は自分のアカウントを接続することができますが、loginコマンドの後にselectコマンドを実行すると、不正なコマンドエラーが発生します – nazgulll