Вопрос по gmail – Javamail и Gmail Pop3 SSL

4

я пытаюсь подключить свое приложение к Gmail для проверки электронной почты. Я должен использовать SSL для POP3.

Это мой код:

    Properties props = new Properties();

    props.put("mail.host", "pop.gmail.com");
    props.put("mail.store.protocol", "pop3s");
    props.put("mail.pop3s.auth", "true");
    props.put("mail.pop3s.port", "993");

    Session session = Session.getDefaultInstance(props, null);
    Store store=session.getStore();
    store.connect("[email protected]","mypass");

И я получаю эту ошибку:

Exception in thread "main" javax.mail.MessagingException: Connect failed;
  nested exception is:
    java.io.IOException: Unexpected response: * OK Gimap ready for requests from x.x.x.x.x z50if25691877wef.13
    at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:210)
    at javax.mail.Service.connect(Service.java:295)
    at javax.mail.Service.connect(Service.java:176)
    at javax.mail.Service.connect(Service.java:196)

Я думаю, что у этого есть хорошая новость: сервер gmail ответил, однако ... кажется, отвечает за плохой путь для javamail.

Сначала измените Session.getDefaultInstance на Session.getInstance. Затем, я думаю, что если вы посмотрите на выходные данные отладки сеанса, вы увидите, что вы действительно подключаетесь к imap.gmail.com. Правильное имя хоста для доступа по протоколу POP3 - pop.gmail.com. Также обратите внимание, что вам не нужно устанавливать свойство mail.pop3s.port, если вы используете значение по умолчанию, и свойство mail.pop3s.auth отсутствует, поэтому его не нужно устанавливать. Проверьте FAQ по JavaMail для полного примера. Bill Shannon
Если это найдено в Protocol.java источника javax.mail: if (line.startsWith (& quot; + OK & quot;)) r.ok = true; И гугл-ответ & quot; * OK & quot; ... Tobia

Ваш Ответ

2   ответа
0

 Properties properties = new Properties();  
 properties.put("mail.pop3.host", pop3Host);
 properties.put("mail.pop3.ssl.enable", true);
 properties.put("mail.pop3.ssl.trust", "*");
 properties.put("mail.pop3.port", 995);
 Session emailSession = Session.getDefaultInstance(properties); `enter code here`
Пожалуйста, измените свой ответ, мы все еще можем увидетьenter code here, Также объясните, почему это поможет, ответы на дамп кода не считаются достаточными.
2

Похожие вопросы