Enviando email com o java

Recentemente tive que implementar um recuperador de senha utilizando java. Pensei que seria uma tarefa que demandaria tempo, porém em 15 minutos eu a finalizei. Vamos lá!

No eclipse crie um projeto maven habilitando o checkbox “Create a simple project” e clique em next.

maven

Preencha os dados do formulário e clique em finish.

maven2

Adicione as seguintes dependências no pom.xml:

   <dependencies>      
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.2</version>
        </dependency>   
          
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>     

        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.6</version>
        </dependency> 
    </dependencies>

Clique com o botão direito no projeto: Maven – Update project

Crie uma classe habilitando o checkbox “public static void main”

newProject

Crie o seguinte método:

   public static void sendEmail() throws EmailException {

        SimpleEmail email = new SimpleEmail();
        // Utilize o hostname do seu provedor de email
        System.out.println("alterando hostname...");
        email.setHostName("smtp.gmail.com");

        // Quando a porta utilizada não é a padrão (gmail = 465)
        email.setSmtpPort(465);

        // Adicione os destinatários
        email.addTo("karanalpe@hotmail.com");

        // Configure o seu email do qual enviará
        email.setFrom("karanalpe@gmail.com", "Karan User");

        // Adicione um assunto
        email.setSubject("Lembrete de senha");

        // Adicione a mensagem do email
        email.setMsg("Lembrete de senha karanalpe ");

        // Para autenticar no servidor é necessário chamar os dois métodos abaixo
        System.out.println("autenticando...");
        email.setSSL(true);
        email.setAuthentication("seuEmail@gmail.com", "suaSenha");
        System.out.println("enviando...");
        email.send();
        System.out.println("Email enviado!");
    }

Chame o método sendEmail no main (será necessário adicionar o throws de EmailException):

   public static void main(String[] args) throws EmailException {
        sendEmail();

    }

Execute e teste o envio. Veja o e-mail recebido:

lembreteSenha

Obs: Testei essa implementação para um projeto web.

Código fonte está aqui.

Agradecimento especial para este post que me ajudou nesta tarefa. Até a próxima! 🙂

Deixe uma resposta