Olá desenvolvedores, nesta nova série de tutoriais enviando e-mail com JavaMail aprenderemos a criar um projeto JavaMail com Maven. Já pensou em criar seu próprio sistema de e-mail? Esta é a hora, como resultado de uma aula muito pedida pelos alunos, aqui está o “criando o projeto JavaMail com Maven”.
Imagine que seu cliente é um revendedor. Os representantes desse cliente poderão a partir do sistema criado por você gravar os dados da venda, processá-la, gerar um relatório de venda em PDF e enviá-lo por e-mail. E tudo isso sem sair da sua aplicação. Legal, né? Vamos a implementação.
Neste momento não iremos implementar o Front-end, nos concentraremos na criação da classe e do método, a partir dos quais faremos o disparo do e-mail.
PROJETO MAVEN
A opção por criar um projeto maven é porque ele nos dá a possibilidade de baixar dependências. Estas dependências são as bibliotecas. Elas são muito importantes para o correto funcionamento do projeto que implementaremos.
Na IDE Eclipse clique em File >> New >> Other e pesquise por Maven Project, selecione e clique em Next.
Clique em Next novamente e na próxima tela preencha os campos como exemplificado, após preencher clique em Finish. E aguarde o Eclipse carregar o projeto.
Com o projeto carregado clique em pom.xml onde iremos configurar o maven e adicionar as bibliotecas. Dessa forma, o próprio maven baixará todas as dependências necessárias para o projeto, nos dispensando de fazê-lo manualmente.
O maven traz dentro do arquivo pom.xml uma tag <dependencies> que engloba uma dependência para cada framework utilizado. Assim na tag <dependency> do junit atualize a versão para 4.12.
<version>4.12</version>
Insira também a dependência da biblioteca javamail que é a que iremos utilizar para fazer o envio de e-mails.
Atualizada a dependência do junit e inserida o javax.mail, salve o projeto. Observe que na pasta Maven Dependencies todas elas que já foram automaticamente baixadas de algum repositório online.
IMPLEMENTANDO UMA CLASSE DE TESTE
O projeto maven traz a pasta src/test/java, que tem dentro do pacote enviando.mail a classe AppTeste.java, é com ela que iremos trabalhar em um primeiro momento. Apague os comentários e crie o método testeEmail(). Antes do método insira a anotação @org.junit.Test.
public void testeEmail(){}
Clique agora com o botão direito do mouse em uma área livre >> Run As JUnit Test para executar o código. Assim, não é necessário criar uma tela, colocar dados, clicar em um botão para só então efetuar o teste.
Agora precisamos de um e-mail para validar o teste, e entenda que para cada provedor de e-mail existe uma configuração específica, a ser implementada no Java. E para saber a configuração correta para o e-mail que você utiliza basta consultar as configurações SMTP – Simple Mail Transfer Protocol.
O SMTP é um protocolo padrão para transferência, isto é, envio de e-mails pela internet. Minha recomendação é que você crie uma conta de e-mail para utiliza-la somente para esta finalidade, evitando dessa forma algum eventual problema, como bloqueio por exemplo.