2012-04-27 4 views
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.

+0

Если нашел это на Protocol.java источника javax.mail: если (line.startsWith ("+ OK")) r.ok = истина; И ответ Google «* OK» ... – Tobia

+0

Сначала измените Session.getDefaultInstance на Session.getInstance. Тогда, я думаю, если вы посмотрите на вывод отладки сессии, вы увидите, что вы действительно подключаетесь к imap.gmail.com. Правильным именем хоста для доступа к POP3 является pop.gmail.com. Также обратите внимание, что вам не нужно устанавливать свойство mail.pop3s.port, если вы используете значение по умолчанию, и нет свойства mail.pop3s.auth, поэтому нет необходимости его устанавливать. Для получения полного примера просмотрите часто задаваемые вопросы по JavaMail. –

ответ

Смежные вопросы