2016-04-08 20 views
0

私は自分のメールをアプリでチェックしたいと思っています。これまでの私のコード:はPOP3サーバーに接続できません

私のプロバイダはSSLを使用しています。 hereを参照してください。これまで

私のコードは:

try { 
      //1) get the session object 
      Properties properties = new Properties(); 
      properties.put("mail.pop3s.host", "pop.1und1.de"); 
      properties.put("mail.pop3s.port", "995"); 
      Session emailSession = Session.getDefaultInstance(properties); 

      //2) create the POP3 store object and connect with the pop server 
      POP3Store emailStore = (POP3Store) emailSession.getStore("pop3s"); 
      emailStore.connect(<myMailAdress>, <password>); 

      //3) create the folder object and open it 
      Folder emailFolder = emailStore.getFolder("INBOX"); 
      emailFolder.open(Folder.READ_ONLY); 

      //4) retrieve the messages from the folder in an array and print it 
      Message[] messages = emailFolder.getMessages(); 
      for(Message message:messages) { 
       String from = message.getFrom()[0].toString().toLowerCase(); 
       Log.e("XXXXXX",from); 
      } 
      emailFolder.close(false); 
      emailStore.close(); 

     } catch (NoSuchProviderException e) { 
      e.printStackTrace(); 
     } 
     catch (MessagingException e) { 
      e.printStackTrace(); 
     } 

コードがemailStore.connect()まで実行されます。そこに私は例外を得る javax.mail.MessagingException: Connect failed; nested exception is: javax.net.ssl.SSLHandshakeException: Connection closed by peer

+0

JavaMailはデフォルトのポートを認識します。指定する必要はありません。これらの[接続のデバッグのヒント](http://www.oracle.com/technetwork/java/javamail/faq/index.html#condebug)に従ってください。接続時にサーバーでSSLを使用する必要がないことを確認してください。そうであれば、 'mail.pop3.ssl.enable'を" true "に設定してください。 –

+0

私のコードを編集して別のエラーメッセージが出ました。私の編集されたポストを参照してください。また、設定のあるプロバイダへのリンクも含まれています – Ginso

+0

[JavaMailセッションのデバッグ](http://www.oracle.com/technetwork/java/javamail/faq/index.html#debug)をオンにし、それはおそらくあなたに十分な情報を与えません。 JavaMail [SSLNOTES.txt](http://javamail.java.net/docs/SSLNOTES.txt)ファイルのリンクで説明されているように、java.net SSLデバッグを有効にする必要があります。 –

答えて

-1

この投稿はあなたの質問に答えませんが、POP3は明らかにが不都合ですです。確かに、いくつかの電子メールプロバイダがここやそこにそれを提供しているのを見ていますが、一般に人々はIMAPをさまざまな理由で使用する傾向があります。

最初に、POP3はすべての電子メールをサーバーからダウンロードし、ダウンロードしたものとしてマークするのではなく、読んだり悪いことをします。削除します。はい。あなたのiPhoneからそれらの電子メールにアクセスしてから、そのかわいい猫の画像をダウンロードするためにあなたのPCに来るなら、それはそこにはありません。 iPhoneはそれをダウンロードし、それをあなたに提供し、即座に電子メールプロバイダから削除してしまいます。

第2に、POP3には同期機能がありません。これは私の最初の点に非常に似ています。あなたがそれを読んだらPOP3は読まれたとしてあなたの電子メールをマークしません、それは単に事実を無視します。 POP3は、1つのデバイス、つまり1つだけを購入できる人がいる場合に有効です。しかし、私たちのほとんどには少なくとも2つのデバイス(コンピュータとスマートフォン)があり、同期はひどいものになります。

言われているように、私はできるだけあなたの質問に答えようとします。ピアによって閉じられた接続は、サーバまたはピアが、TLSのいくつかのバージョンのように、古くて危険なセキュリティプロトコルを使用していることを示します。セキュリティ設定を開始してみてください。それが他のものであれば、これはあなたの問題を解決しません。プロバイダ設定でPOP3設定が有効になっているかどうかを確認しましたか?時には、最も簡単な答えがあなたのベーコンを救うことができます!

+0

それでは、ISPはデフォルトでそれを提供しており、IMAPにアップグレードするための料金を請求しています。 – EJP

+0

申し訳ありませんが、私はそれをよく言いました。ここでは不便な方が良い用語かもしれません。更新されます。 – ideaman924

+0

pop3sをimapsに置き換え、ポートとホストをそれぞれ変更すると同じ例外が発生する – Ginso

関連する問題