Javamail and Gmail Pop3 SSL

2020-03-24 07:03发布

问题:

i'm trying to connect my app to Gmail to check emails. I must use SSL for POP3.

This is my code:

    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("myuser@gmail.com","mypass");

And I get this error:

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)

I think this has a good new: the gmail server answered, however... seems to answer in a bad way for javamail.

回答1:

The port should be 995 for gmail: http://support.google.com/mail/bin/answer.py?hl=en&answer=13287



回答2:

I think it will help you

 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`