4

IMAP、できればIDLEの使用に役立つJavaライブラリを探しています。

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

これまで私が見てきた:

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

JavaPushMailですが、十分に文書化されていません(うまくいくかもしれませんが、後継者が満足するかどうかはわかりません)。

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

Chilkatsoftは199ドルのライブラリで、少し高価です(無料で信頼性の高いコードは、いつでも簡単に入手できます:)さらに、IDLEを処理できるかどうかはわかりません。

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

いくつかのサンプルコード、ライブラリ、または正しい方向へのプッシュをいただければ幸いです。

「私」の皆さん、ごめんなさい。よろしくお願いします。

4

3 に答える 3

2

私は先に進み、Javamailを使用しました。まともなラッパー/クライアントがまだ書かれていないのは奇妙だと思ってください。まあ、それをすべて持つことはできません。答えてくれてありがとう、コナー・シャーマン。

于 2012-07-17T07:11:40.773 に答える
2

Javamailを除いて、あなたが言及したライブラリのいずれも使用していませんが、保証することはできます。Exchangeサーバーをポーリングし、受信トレイ内のすべての新着メールを解析するアプリケーションを作成する必要がありました。これは、そのプロジェクトで使用されているコードの一部です。私はすべてのポーリングをアプリ内で行ったので、サーバーなどからのプッシュ通知を調べていませんでした。これがあなたが求めていたものではないことは知っていますが、それが正しい方向への一歩であることを願っています。

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){
        }
    }
}
于 2012-07-06T13:53:43.913 に答える
-1

私自身は使用していませんが、このライブラリは良さそうです。

https://github.com/MailCore/mailcore2

MailCore 2は、電子メールプロトコルIMAP、POP、およびSMTPと連携するためのシンプルで非同期のAPIを提供します。APIはゼロから再設計されました。

于 2016-08-05T20:39:01.280 に答える