Connect to hotmail with javamail?

Sebastien Lorber picture Sebastien Lorber · Jun 18, 2010 · Viewed 10.8k times · Source

I wonder if it is possible to connect to Hotmail with JavaMail?

I've tried this but it doesn't work, connection refused...

    String host = "pop3.live.com";
    String username = "[email protected]";
    String password = "rqetqetq";

    Session session;
    Store store;

    String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";

    Properties pop3Props = new Properties();

    pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
    pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
    pop3Props.setProperty("mail.pop3.port",  "995");
    pop3Props.setProperty("mail.pop3.socketFactory.port", "995");

    URLName url = new URLName("pop3", host, 995, "", username, password);

    session = Session.getInstance(pop3Props, null);
    store = new POP3SSLStore(session, url);
    store.connect();

Anyone already succeeded to do this?

Answer

Timo Ernst picture Timo Ernst · Jan 9, 2011

Hotmail now supports pop3 (through SSL).

Thus, you need the following settings:

pop3Props.setProperty("mail.pop3.ssl.enable", "true");

For all other properties, you must add a "s" in the properties string (so it says "pop3s" instead of "pop3"):

pop3Props.setProperty("mail.pop3s.socketFactory.class", SSL_FACTORY); pop3Props.setProperty("mail.pop3s.socketFactory.fallback", "false"); pop3Props.setProperty("mail.pop3s.port", "995"); pop3Props.setProperty("mail.pop3s.socketFactory.port", "995");

For me, the following code works nicely:

String host = "pop3.live.com";
String username = "[email protected]";
String password = "rqetqetq";

Properties pop3Props = new Properties();
pop3Props.setProperty("mail.pop3s.port",  "995");

Session session = Session.getInstance(pop3Props, null);
Store store = session.getStore("pop3s");
store.connect(host, 995, username, password);