2
respostas

[Dúvida] Uso do AWS SES

Gostaria de saber se tem algum curso na alura ou algum artigo ensinando usar a aws ses com spring boot. To tentando fazer um sistema de recuperação de senha e preciso usar a aws para enviar os emails.

2 respostas

Olá, Bruno!

A AWS SES (Amazon Simple Email Service) é uma plataforma de envio de e-mails muito útil e poderosa. No entanto, até onde sei, não há um curso específico na Alura que ensine a utilizar a AWS SES com Spring Boot.

Mas não se preocupe, posso te dar uma direção de como você pode proceder para integrar o AWS SES com Spring Boot em seu sistema de recuperação de senha.

Primeiro, você precisará configurar o AWS SES. A documentação oficial da AWS é um excelente ponto de partida: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html

Depois de configurar o AWS SES, você pode usar a biblioteca AWS SDK para Java para integrar o AWS SES com o Spring Boot. Aqui está um exemplo de como você pode fazer isso:

import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
import com.amazonaws.services.simpleemail.model.*;

public class EmailService {

    private AmazonSimpleEmailService ses;

    public EmailService(AmazonSimpleEmailService ses) {
        this.ses = ses;
    }

    public void sendEmail(String to, String subject, String body) {
        SendEmailRequest request = new SendEmailRequest()
            .withDestination(
                new Destination().withToAddresses(to))
            .withMessage(new Message()
                .withBody(new Body()
                    .withText(new Content()
                        .withCharset("UTF-8").withData(body)))
                .withSubject(new Content()
                    .withCharset("UTF-8").withData(subject)))
            .withSource(FROM);
        ses.sendEmail(request);
    }
}

Neste exemplo, criamos um serviço simples que envia um e-mail usando o AWS SES. Você precisará substituir FROM pelo endereço de e-mail que você verificou no AWS SES.

Lembre-se de que este é apenas um exemplo básico. Em um sistema de produção, você provavelmente precisará lidar com exceções e talvez queira criar e-mails mais complexos (por exemplo, com HTML).

Espero ter ajudado e bons estudos!

Deu alguns erros quando rodei a aplicação: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O codigo ficou assim:

@Service
@AllArgsConstructor
public class EmailService {

    private AmazonSimpleEmailService emailService;

    public void sendEmail(String to, String subject, String body) {
        SendEmailRequest request = new SendEmailRequest()
                .withDestination(
                        new Destination().withToAddresses(to))
                .withMessage(new Message()
                        .withBody(new Body()
                                .withText(new Content()
                                        .withCharset("UTF-8").withData(body)))
                        .withSubject(new Content()
                                .withCharset("UTF-8").withData(subject)))
                .withSource("email cadastrado na ses");
        emailService.sendEmail(request);
    }
}
@PostMapping("/enviar-email")
    public void enviarEmail() {
        emailService.sendEmail("email para enviar", "Teste", "Teste");
    }