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.