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

  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008