Posts Tagged ‘imaps’
Acessando o Gmail com Push-IMAP e JavaMail
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!