Доступ к gmail через imap с использованием Javamail (за прокси-сервером) - PullRequest
0 голосов
/ 23 июня 2011

Я использую код из более ранних потоков (также вставил код ниже):

Получение почты из GMail в приложение Java с использованием IMAP

Какзаставить работать этот код, если я за прокси-сервером?

Время ожидания истекло, я пытался найти решение, но безрезультатно.

public static void main(String args[]) {

    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", email, password);
            System.out.println(store);

            Folder inbox = store.getFolder("Inbox");
            inbox.open(Folder.READ_ONLY);
            Message messages[] = inbox.getMessages();
            for(Message message:messages) {
            System.out.println(message);
        }
    } catch (NoSuchProviderException e) {
        e.printStackTrace();
        System.exit(1);
    } catch (MessagingException e) {
        e.printStackTrace();
        System.exit(2);
    }

}

Спасибо, Крис.

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Ознакомьтесь с часто задаваемыми вопросами о Java Mail :

Q: Как настроить JavaMail для работы через мой прокси-сервер?

A: JavaMail в настоящее время не поддерживает доступ почтовые серверы через веб-прокси сервер. Одна из основных причин использование прокси-сервера для разрешения HTTP запросы изнутри корпоративного сеть, чтобы пройти через корпоративный брандмауэр. Брандмауэр обычно заблокировать большинство доступ к интернету, но разрешит запросы от прокси сервер, чтобы пройти. Кроме того, почтовый сервер внутри корпоративного сеть будет выполнять аналогичные функция для электронной почты, приема сообщений через SMTP и переадресация их на свои конечный пункт назначения в Интернете, и принимать входящие сообщения и отправив их в соответствующий внутренний почтовый сервер.

Если ваш прокси-сервер поддерживает Протокол SOCKS V4 или V5 (http://www.socks.nec.com/aboutsocks.html, RFC1928) и позволяет анонимно соединения, вы можете сказать, Java время выполнения, чтобы направить все сокеты TCP подключения к серверу SOCKS. Увидеть руководство по свойствам сети для последняя документация socksProxyHost и socksProxyPort свойства. Это системный уровень свойства, а не сеанс JavaMail свойства. Они могут быть установлены из командная строка, когда приложение вызывается, например: Java -DsocksProxyHost = myproxy .... Это средство можно использовать для направления SMTP, IMAP и POP3 связь с JavaMail на SOCKS прокси сервер. Обратите внимание, что установка этих свойства направляют все сокеты TCP на SOCKS прокси, который может иметь негативное влияние на другие аспекты ваше заявление.

Без такого сервера SOCKS, если вы хочу использовать JavaMail напрямую доступ к почтовым серверам вне брандмауэр, брандмауэр должен быть настроен, чтобы разрешить такой доступ. JavaMail не поддерживает доступ через прокси-сервер HTTP.

2 голосов
/ 23 июня 2011

За прокси-сервером не останавливается подключение к IMAP

Может быть две причины

  1. Порт IMAP заблокирован администратором сети
  2. Ваш IP заблокирован / заблокирован Google

Спасибо

...