GMail and Javamail-1.3.2

Ok... after a little fumbling around and here is the code to get your Gmail via Javamail. In most of the examples from the Javamail api, they use store.getDefaultFolder which does not return a folder with messages even though the name seems to be "INBOX". Use store.getFolder("INBOX"); instead. Also, this will get not the messages in your inbox, but all messages.


Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

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

// Get a Properties object
Properties props = System.getProperties();
props.setProperty("mail.pop3s.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.pop3s.socketFactory.fallback", "false");

// POP3 provider
props.setProperty("mail.pop3s.port", "995");
props.setProperty("mail.pop3s.socketFactory.port", "995");

Session session = Session.getInstance(props);

Store store = session.getStore("pop3s");
store.connect("pop.gmail.com", "(user)", "(password)");

Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] msgs = folder.getMessages();
for (int i = 0; i < msgs.length; i++) {
System.out.println(i + ": " +msgs[i].getSubject());
}
store.close();

Comments

Popular Posts