1
resposta

Erro no ítem: `10 Mão na massa: Enviando senha aleatória por e-mail`

Alguém conseguiu implementar esse mão na massa? Para mim gerar falha no sistema. O último código, me parece estar errado. E não tem a indicação do local certo de chamar o método. Chamei no public Long salvarUsuario() da classe UsuarioService.

1 resposta

Olá José! Tudo bem?

Pelo que você descreveu, parece que o problema pode estar na forma como o método está sendo chamado dentro do UsuarioService. Aqui estão algumas dicas que podem te ajudar:

  1. Verifique o Método de Envio de E-mail: Certifique-se de que o método responsável por enviar o e-mail está corretamente implementado. Ele deve ser capaz de enviar e-mails sem erros. Isso geralmente envolve configurar corretamente o serviço de e-mail (SMTP) e garantir que as credenciais estejam corretas.

  2. Local Correto para Chamar o Método: O método de envio de e-mail deve ser chamado após a geração da senha aleatória e após o usuário ser salvo no banco de dados. Isso garante que o e-mail seja enviado apenas quando o usuário já está cadastrado.

  3. Exemplo Prático: Suponha que você tenha um método enviarEmailComSenha(String email, String senha) dentro do seu serviço de e-mail. Você pode chamá-lo logo após salvar o usuário, como no exemplo abaixo:

    public Long salvarUsuario(Usuario usuario) {
        // Lógica para salvar o usuário
        Long userId = usuarioRepository.save(usuario).getId();
        
        // Gerar senha aleatória
        String senhaAleatoria = gerarSenhaAleatoria();
        
        // Enviar e-mail com a senha
        emailService.enviarEmailComSenha(usuario.getEmail(), senhaAleatoria);
        
        return userId;
    }
    

Espero que essas dicas ajudem a resolver o problema.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.