Brunosimioni's Blog

Tecnologia, informação e opinião.

Posts Tagged ‘imaps

Acessando o Gmail com Push-IMAP e JavaMail

leave a comment »

Boa tarde leitores!

Segue um exemplo de como acessar o Gmail via JavaMail, utilizando a estratégia de server push, evitando assim, realizar polling no servidor para verificar se novas mensagens chegaram! Não se deve esquecer de implementar um tratador de queda de conexão, afinal, o controle deverá ser maior!

Properties props = System.getProperties();
 props.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
 props.setProperty("mail.imap.socketFactory.fallback", "false");
 props.setProperty("mail.store.protocol", "imaps");
 Session session = Session.getDefaultInstance(props, null);
IMAPStore server;
try {
 server = (IMAPStore) session.getStore("imaps");
 }
 catch(Exception e) {}
try {
// aImapAddr deverá apontar para imap.googlemail.com fora dos EUA
server.connect(aImapAddr, aUserName, aPassword);
 IMAPFolder folder = (IMAPFolder) server.getFolder("INBOX");
 folder.open(Folder.READ_WRITE);
// defina um listener
 folder.addMessageCountListener(new MessageCountListener() {
 @Override
 public void messagesRemoved(MessageCountEvent arg0) {
 System.out.println("ops, mensagens removidas!");
 }
@Override
 public void messagesAdded(MessageCountEvent arg0) {
 System.out.println("ops, novas mensagens!");
 }
 });
// entre em espera
 folder.idle();

Boa sorte a todos!

Written by Bruno Simioni

18 de novembro de 2011 at 1:00 PM

Publicado em Experimentos

Tagged with , , , , ,