3

Java アプリケーションを介してメッセージを読むために、Gmail の受信トレイに接続しようとしています。私は使っている..

  • jdk1.6.0_13
  • javamail-1.4.3 ライブラリ - (mail.jar、mailapi.jar、imap.jar)

以下は私のコードです: MailReader.java

import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;

public class MailReader
{
    public static void main(String[] args)
    {
        readMail();     
    }

    public static void readMail()
    {
        Properties props = System.getProperties();
        props.setProperty("mail.store.protocol", "imaps");
        try
        {
            Session session = Session.getDefaultInstance(props, null);
            Store store = session.getStore("imaps");
            store.connect("imap.gmail.com", "myEmailId@gmail.com", "myPwd");
            System.out.println("Store Connected..");

            //inbox = (Folder) store.getFolder("Inbox");
            //inbox.open(Folder.READ_WRITE);
            //Further processing of inbox....
        }
        catch (MessagingException e)
        {
            e.printStackTrace();            
        }
    }
}

ストアが接続されることを期待していますが、store.connect() への呼び出しが返されず、以下の出力が得られます。


javax.mail.MessagingException: 接続がタイムアウトしました。
ネストされた例外は次 の
とおり
です 。 readMail.main (ReadMail.java:10) の ReadMail.readMail(ReadMail.java:21) の mail.Service.connect(Service.java:134)



ただし、SMTP、Transport.send()、および同じ gmail アカウントを使用して、Java で電子メールを送信できます。しかし、メールを読むことができません。解決策は何ですか?

4

1 に答える 1

1

IMAP は sendmail (25) への別のポート (非セキュアの場合は 143、セキュアの場合は 993) で機能しますが、それがブロックされていると思われます。そのポートでそのサーバーにtelnetで接続できますか

telnet imap.gmail.com {port number}

これは、ネットワーク接続があるかどうかを示します。

于 2012-10-08T09:19:33.643 に答える