3
Я пытаюсь подключить свое приложение к Gmail для проверки электронной почты. Я должен использовать SSL для POP3.Javamail и Gmail Pop3 SSL
Это мой код:
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.
Если нашел это на Protocol.java источника javax.mail: если (line.startsWith ("+ OK")) r.ok = истина; И ответ Google «* OK» ... – Tobia
Сначала измените Session.getDefaultInstance на Session.getInstance. Тогда, я думаю, если вы посмотрите на вывод отладки сессии, вы увидите, что вы действительно подключаетесь к imap.gmail.com. Правильным именем хоста для доступа к POP3 является pop.gmail.com. Также обратите внимание, что вам не нужно устанавливать свойство mail.pop3s.port, если вы используете значение по умолчанию, и нет свойства mail.pop3s.auth, поэтому нет необходимости его устанавливать. Для получения полного примера просмотрите часто задаваемые вопросы по JavaMail. –