Este é um post disponível para assinantes MVPArtigo Java Magazine 39 - Uma Mala Direta com JavaMail
Artigo publicado pela Java Magazine 39.

Uma Mala Direta com JavaMail
Enviando Múltiplas Mensagens Personalizadas em HTML
Aprenda como utilizar a API JavaMail para enviar e-mails com HTML, enviar anexos e ainda personalizar o e-mail com os dados do cliente utilizando expressões regulares
Neste artigo, vamos demonstrar a API JavaMail criando uma aplicação completa. Iniciamos com conceitos básicos sobre a API, depois mostramos passo a passo a criação de uma aplicação de mala direta funcional, na qual lemos informações sobre clientes de uma tabela em um banco de dados MySQL e enviamos e-mails personalizados para cada cliente. Também apresentamos o conceito de expressões regulares e as funcionalidades oferecidas pela plataforma Java, usando-as para personalizar as mensagens enviadas.
A API JavaMail
A API JavaMail é utilizada para leitura e envio de e-mails, e oferece diversos recursos essenciais para aplicações corporativas, entre os quais destacamos:
· Suporte a vários protocolos de envio e leitura de e-mail (ex.: POP3, SMTP, IMAP)
· Suporte a mensagens em HTML
· Suporte a envio de mensagens com anexos
A API JavaMail não é incluída com o JDK, portanto é necessário fazer o download e disponibilizá-la para a aplicação. Além disso, será necessária a API JavaBeans Activation Framework (JAF). Os downloads podem ser feitos em java.sun.com/products/javamail/downloads e java.sun.com/products/javabeans/jaf/downloads. Será preciso, portanto, adicionar dois JARs ao classpath da aplicação: mail.jar e activation.jar.
Se você está desenvolvendo aplicações Java EE, não há nenhuma preocupação adicional, pois as APIs JavaMail e JAF fazem parte do Java EE.
Visão geral das classes da API
Apresentamos a seguir uma breve descrição de algumas classes fundamentais do JavaMail.
javax.mail.Session
A classe Session representa uma sessão de e-mail. É através dela que obtemos os objetos responsáveis pelo envio e leitura de e-mails, como por exemplo Transport, Store e Folder. Para obter um Session precisamos de informações sobre o servidor de e-mails, que podem ser passadas através de um objeto java.util.Properties.
javax.mail.Transport
A classe abstrata Transport encapsula o protocolo de envio de e-mails (geralmente SMTP) e contém métodos para envio de mensagens. Um objeto do tipo Transport é obtido através do objeto Session informando o protocolo utilizado. A API JavaMail fornece apena uma subclasse concreta de Transport: javax.mail.internet.SMTPTransport.
javax.mail.Store e javax.mail.Folder
Apesar de não utilizarmos estas classes no nosso exemplo pois elas são usadas para leitura ou transferência de e-mails do servidor para o cliente, vale a pena citá-las. A classe abstrata Store é utilizada para a leitura de mensagens de um servidor de e-mail. Ao obter um objeto Store através da sessão indicamos qual o protocolo utilizado, por exemplo POP3 ou IMAP (há duas subclasses concretas de Store na API: POP3Store e IMAPStore). Então nos conectamos ao servidor informando os dados para autenticação e recebimento das pastas (javax.mail.Folder) que contêm os e-mails do usuário autenticado.
A classe abstrata Folder representa uma pasta de e-mails do usuário autenticado. Objetos Folder (há as subclasses POP3Folder e IMAPFolder na API) são obtidos através de um objeto Store através do seu nome.
javax.mail.internet.MimeMessage
A classe MimeMessage representa uma mensagem a ser lida ou transferida por e-mail, e estende a classe abstrata "
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor



0
0
