Чтение почты Gmail по протоколу IMAP за прокси-сервером, брандмауэр с PAC

У меня есть файл PAC и прокси-порт, но я не могу войти в систему и читать почту GMail. Может ли кто-нибудь показать мне, как использовать PAC и прокси-порт в JAVAMAIL API. Я сделал настройку, например

    propsIMAP = new Properties();
    propsSMTP = new Properties();

    propsIMAP.setProperty("http.proxyHost", "http-proxy01.domain.com");   
    propsIMAP.setProperty("http.proxyPort", "88");
    propsIMAP.put("mail.imap.starttls.enable","true");
    propsIMAP.put("mail.imap.host", ImapServerName);
    propsIMAP.put("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    propsIMAP.put("mail.imap.socketFactory.fallback", "false");
    propsIMAP.put("mail.transport.protocol", "imaps");
    propsIMAP.put("mail.imap.auth", "true");
    propsIMAP.put("mail.imaps.port", "993");

и получая ошибку как:

      DEBUG IMAP: mail.imap.fetchsize: 16384
DEBUG IMAP: mail.imap.ignorebodystructuresize: false
  DEBUG IMAP: mail.imap.statuscachetimeout: 1000
  DEBUG IMAP: mail.imap.appendbuffersize: -1
  DEBUG IMAP: mail.imap.minidletime: 10
   DEBUG IMAP: enable STARTTLS
    DEBUG IMAP: trying to connect to host "webmail.gmail.com", port 993, isSSL false
  javax.mail.MessagingException: webmail.gmail.com;
   nested exception is:
   java.net.UnknownHostException: webmail.gmail.com
      at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670)

person user3009301    schedule 17.12.2013    source источник


Ответы (2)


Проблема здесь в том, что вы пытаетесь подключиться к хосту, которого просто не существует. Правильные настройки для gmail: -

props.setProperty("mail.imap.host", "imap.gmail.com");
props.setProperty("mail.imap.port", "993"); 

Вы можете использовать следующее: -

  Properties props = System.getProperties();
  props.setProperty("mail.store.protocol", "imaps");
  // Put all other Properties here
  Session session = Session.getDefaultInstance(props, null);
  Store store = session.getStore("imaps");
  store.connect("imap.gmail.com", "<username>@gmail.com", "<password>");
person Caadi0    schedule 17.12.2013
comment
@ user3009301 : Если код работает, не могли бы вы принять ответ и отметить вопрос как ответ. Если это все еще не работает, оставьте комментарий. - person Caadi0; 17.12.2013
comment
Исключение в потоке main java.lang.SecurityException: доступ к сеансу по умолчанию запрещен - person user3009301; 17.12.2013
comment
@user3009301 user3009301: я думаю, вам нужен аутентификатор, см. этот вопрос SO -to-d" title="вызвано исключение java mail api, говорящее о доступе java lang securityexception к d"> stackoverflow.com/questions/11566772/ - person Caadi0; 17.12.2013