• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaの簡易クライアント)

Javaの簡易クライアントでメール閲覧ができずエラーが発生する

このQ&Aのポイント
  • Javaの簡易クライアントでメールの閲覧ができるプログラムを作成しましたが、実行時にエラーが発生します。
  • 正しいソースコードを教えてください。
  • プログラムに詳しい方、助けてください!

質問者が選んだベストアンサー

  • ベストアンサー
  • teketon
  • ベストアンサー率65% (141/215)
回答No.3

先にQUITしてるから、その後にsockinから取得すると失敗しているんじゃないかなぁ。 だから、こんな感じ?RETRも同様。 sockout.write("USER " + user + "\r\n"); sockout.write("PASS " + pass + "\r\n"); sockout.write("LIST\r\n"); sockout.flush(); while ((str = sockin.readLine()) != null) { System.out.println(str); } sockout.write("QUIT\r\n"); sockout.flush();

その他の回答 (2)

回答No.2

非専門家です。 LIST や STAT でエラーという事は認証しか通さないメールサーバなのかなと思いました。 APOP とか POP before SMTP とかあるので。 あと、RETR の方は QUIT してから読み込んでるので、メール読み込みは必ず 失敗すると思います。 Apache の net ライブラリを使うのが良いのでないでしょうか。 すでにインストールされてるかもしれません。 http://commons.apache.org/proper/commons-net/ 検索してみたら GMail の例があったので、参考URL に。

参考URL:
http://forum.codecall.net/topic/66335-how-to-connect-to-pop3-server-using-java-socket/
回答No.1

LIST とか RETR で -ERR が返ってきてるので、 ただの POP3 じゃ通信できないんじゃないでしょうか。 LIST した後 RETR するまでに QUIT するのも通信の無駄に見えます。

noname#185138
質問者

補足

ご回答ありがとうございます。いくつか質問してしまうのですが int port = 110; の部分がいけないのでしょうか? 後、LISTやRETRでエラーが返ってきてますが sockout.write の部分が間違っているのですか?お手数かけますが宜しくお願いします

関連するQ&A