Como configurar projetos Spring Boot para enviar e-mail

Postado em por Wolmir Cezer Garbin em Spring Boot | 60 Visualizações
Última atualização em:

Neste post vou mostrar como você pode configurar o envio de e-mails em projetos Spring Boot

Certamente você já precisou fazer que sua aplicação envie e-mails, considerando que você utilize projetos em Spring Boot, isso é relativamente fácil de fazer.

Primeiro adicione a dependência necessária para o Spring Boot.

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

Após adicionar a depêndencia no projeto, adicione as configurações no arquivo application.properties, veja:

#spring-boot-starter-mail properties
spring.mail.host:smtp.gmail.com
spring.mail.port:465
spring.mail.username:seu-email@gmail.com
spring.mail.password:sua-senha
spring.mail.properties.mail.smtp.auth: true
spring.mail.properties.mail.smtp.starttls.enable: true
spring.mail.properties.mail.smtp.starttls.required: true
spring.mail.properties.mail.smtp.ssl.enable = true
spring.mail.test-connection=true

Note que onde precisa adicionar um e-mail e senha válido para que seja possível conectar em sua conta. Caso conecte no Gmail precisa liberar acesso a aplicativos menos seguros em sua conta.

Por fim, crie o controller para testar o envio de e-mails:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EmailController {
    

    @Autowired private JavaMailSender mailSender;


    @RequestMapping(path = "/email-send", method = RequestMethod.GET)
    public String sendMail() {
        SimpleMailMessage message = new SimpleMailMessage();

        message.setText("Hello from Spring Boot Application");
        message.setTo("wolmirgarbin@gmail.com");
        message.setFrom("wolmirgarbin@gmail.com");

        try {
            mailSender.send(message);
            return "Email enviado com sucesso!";
        } catch (Exception e) {
            e.printStackTrace();
            return "Erro ao enviar email.";
        }
    }

}

Agora basta rodar a aplicação e chamar o método via url: http://localhost:8080/email-send.

Pronto, qualquer dúvida deixe nos comentários.

Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

Posts relacionados


Code Conference

Esta é uma conferência de código realizada na cidade de Pato Branco para dissiminar tendências e informações sobre programação e novas tecnológias

Veja mais sobre o Code Conference

Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar