2012-07-06 21 views
5

私はIMAPを使用するのに役立つJavaライブラリを探しています。IMAP IDLEライブラリ

SSLを使用して通知され、新しいメールを取得するJavaアプリケーションを作成する必要があります。アプリケーションは、hMailServerによってホストされているアカウントの受信ボックスをチェックします。

これまでのところ私は見てきた:

Apache Commons Imap IDLEを実装していないようです。

JavaPushMailしかし、それは十分に文書化されていません(私はうまくいくかもしれませんが、私の後継者が喜んでいるとは確信していません)。

JavamailのIMAPFolderは良い選択のようですが、私は時間が足りず、安定したライブラリを書くには時間がかかります。

Chilkatsoftは199ドルのライブラリですが、それはちょっと高価です(無料で信頼できるコードはいつも簡単です:)さらに、私はIDLEを処理しているかどうかはわかりません。

文書化されていて安定していれば、受信トレイをポーリングするソリューションに行くことができます。

私はいくつかのサンプルコード、ライブラリ、または正しい方向へのプッシュを感謝したいと思います。

すべての "I"と申し訳ありません、申し訳ありません。

答えて

2

私は先に進み、Javamailを使用しました。まともなラッパー/クライアントはまだそれのために書かれていない奇妙だと思う。まあ、それをすべて取ることはできません。答えてくれてありがとう、Conor Sherman。私はそれを自分自身を使用していないが、このライブラリはよさそうだ

2

私はJavamail以外のライブラリについては扱っていませんが、保証することができます。私は、交換サーバーをポーリングし、新しいメールをすべて受信トレイに解析するアプリケーションを作成しなければなりませんでした。そのプロジェクトで使用されているコードの断片です。私はアプリ内ですべてのポーリングを行ったので、サーバーや何かからプッシュ通知を調べていませんでした。私はこれが正確にあなたが求めていたものではないことを知っていますが、私はそれが正しい方向への一歩であることを願っています。

import java.util.Properties; 
import javax.mail.* 
import javax.mail.search.FlagTerm; 


public class Driver { 
    public static void main(String[] args){ 
     // Create properties (disable security checks on server) 
     Properties props = new Properties(); 
     props.put("mail.imaps.ssl.checkserveridentity", "false"); 
     props.put("mail.imaps.ssl.trust", "*"); 

     // Get session 
     Session session = Session.getDefaultInstance(props, null); 

     try{ 
      // Get the store 
      Store store = session.getStore("imaps"); 
      store.connect("servername", "username", "password"); 

      //connection configuration 
      Folder folder = store.getFolder("INBOX"); 
      folder.open(Folder.READ_WRITE); 

      //get all unread messages in the inbox 
      FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false); 
      Message[] messages = folder.search(ft); 

      for (int i = messages.length -1; i>=0; i--) { 
       messages[i].setFlag(Flags.Flag.SEEN, true); 
      } 
      // Close connection 
      folder.close(false); 
      store.close(); 
     } 
     catch(Exception e){ 
     } 
    } 
} 
-1

https://github.com/MailCore/mailcore2

MailCore 2は、電子メールプロトコルIMAP、POPやSMTPで動作するように簡単で、非同期APIを提供しています。 APIは、初歩的に再設計されました。

+0

これはJavaから今すぐ使用できますか? – arnt

+0

@arnt Java APIのドキュメントがあります。 Javaを介してC++コードを呼び出すことができるように見えます。私はそれがJavaから使用可能だと思います。しかし、それは純粋なjavaではありません。私は各プラットフォームのコアをコンパイルする必要があると思います。 – guettli