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

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • engineerguy

    engineerguy

    10 Ocak 2010