2

このメソッドは、受信トレイ内の電子メールの数を示します。ただし、次の例外が発生します。

javax.mail.MessagingException: Connect failed;
 nested exception is:
java.net.ConnectException: Connection timed out: connecterror

-

 Session session = Session.getInstance(new Properties());
    try {
        Store store  = session.getStore("pop3");
        store.connect("pop.gmail.com" , "username" , "password");
        Folder fldr = store.getFolder("INBOX");
        fldr.open(Folder.READ_WRITE);
        int count = fldr.getMessageCount();
        System.out.println(count);
    } catch(Exception exc) {
        System.out.println(exc + "error");
    }    
4

4 に答える 4

3

おそらく、サーバーが接続を拒否したためです。

「telnet」から接続してみてください。接続できるようになったら、Java プログラムから接続できるようになります。

トラブルシューティングのヒントを次に示します。

于 2011-07-23T17:52:21.527 に答える
3

これを試して :

Properties props = new Properties();
props.put("mail.pop3.host" , "pop.gmail.com");
props.put("mail.pop3.user" , "username");
// Start SSL connection
props.put("mail.pop3.socketFactory" , 995 );
props.put("mail.pop3.socketFactory.class" , "javax.net.ssl.SSLSocketFactory" );
props.put("mail.pop3.port" , 995);

Session session = Session.getDefaultInstance(props , new Authenticator() {
    @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication( "username" , "password");
            }
});
try {
    Store store  = session.getStore("pop3");
    store.connect("pop.gmail.com" , "username" , "password");
    Folder fldr = store.getFolder("INBOX");
    fldr.open(Folder.HOLDS_MESSAGES);
    int count = fldr.getMessageCount();
    System.out.println(count);
} catch(Exception exc) {
    System.out.println(exc + " error");
}

こちらの質問もご覧ください

于 2011-07-24T07:14:38.890 に答える
1

「gmail を smtp サーバーとして使用する方法」チュートリアルに従ってみてください。Google には、必要なすべての設定を含む構成ページもあります。

于 2011-07-23T22:38:44.453 に答える
1

変更してみる

store.connect("pop.gmail.com" , "username" , "password");

store.connect("pop.gmail.com" , 995, "username" , "password");

免責事項: 私はこれをテストしていません。

Gmail には安全な SSL 接続が必要ですが、javax.mail.Service がそれを提供していない可能性があります。ただし、より可能性の高い説明は、単に正しいポートに接続していないということだと思います。そのため、Gmail の POP3 サービス用に正しいポート番号を明示的に指定しました。

于 2011-07-23T20:11:51.113 に答える