Spring Email

  O Spring possui uma integração com o Java Mail que auxilia na criação de rotinas de envio de email.

Dependências

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

Configurações

 Antes de criar a rotina, é preciso especificar os dados de envio de e-mail, como o servidor, o usuário/senha, etc. Nesse exemplo, iremos usar o Gmail para fazer o envio de e-mail:
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=************@gmail.com
spring.mail.password=****************
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
Observação: para enviar e-mails usando o Gmail é necessário configurar uma senha de aplicativo. Veja esse artigo que mostra como fazer.

JavaMailSender e SimpleMailMessage

 Agora podemos criar a rotina de envio de e-mail. Primeiro, solicitamos ao Spring que injete o JavaMailSender, que irá de fato fazer o envio:
private final JavaMailSender emailSender;

public EmailService(JavaMailSender emailSender) {
this.emailSender = emailSender;
}
 Após isso, podemos criar um SimpleMailMessage, que irá conter as informações do e-mail, como o destinatário, título, etc. e enviá-lo usando o método send do JavaMailSender:
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(email.getFrom());
message.setTo(email.getTo());
message.setSubject(email.getSubject());
message.setText(email.getBody());
emailSender.send(message);


Comentários

Postagens mais visitadas deste blog

Thymeleaf