SORU
14 EYLÜL 2008, Pazar


Java uygulaması kullanarak IMAP içine GMail den gelen mail

Bir Java uygulaması JavaMail ve IMAP kullanarak GMail iletileri erişmek istiyorum. Neden bir SocketTimeoutException alıyorum?

İşte benim kod:

Properties props = System.getProperties();
props.setProperty("mail.imap.host", "imap.gmail.com");
props.setProperty("mail.imap.port", "993");
props.setProperty("mail.imap.connectiontimeout", "5000");
props.setProperty("mail.imap.timeout", "5000");

try {
  Session session = Session.getDefaultInstance(props, new MyAuthenticator());
  URLName urlName = new URLName("imap://MYUSERNAME@gmail.com:MYPASSWORD@imap.gmail.com");
  Store store = session.getStore(urlName);
  if (!store.isConnected()) {
    store.connect();
  }
} catch (NoSuchProviderException e) {
  e.printStackTrace();
  System.exit(1);
} catch (MessagingException e) {
  e.printStackTrace();
  System.exit(2);
}

"Sonsuza dek" zaman aşımı için. kabul etmedi, böylece zaman aşımı değerlerini ayarlayın Ayrıca, MyAuthenticator da URL ile gereksiz görünüyor kullanıcı adı ve şifre vardır. Protokolü belirtmek için başka bir yolu var mı? (IMAP için JavaDoc onu görmedim.)

CEVAP
14 EYLÜL 2008, Pazar


Imaps kullanarak harika bir öneri oldu. Cevapların hiçbiri benim için çalıştı sağlanan, biraz daha araştırdım ve çalışan bir şey buldum. Benim kod gibi görünüyor.

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", "<username>@gmail.com", "<password>");
  ...
} catch (NoSuchProviderException e) {
  e.printStackTrace();
  System.exit(1);
} catch (MessagingException e) {
  e.printStackTrace();
  System.exit(2);
}

Bu resmin dışında gereksiz Doğrulayıcı alır çünkü çok güzel. Bu sslnotes.txt başımı spin yapmak için çalıştı sevindim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Easy Learn Tutorial

    Easy Learn T

    10 Kasım 2012
  • eHow

    eHow

    27 NİSAN 2006
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008