Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

setFrom não funciona

Criei o e-mail conforme dito no curso. Configurei meu e-mail no método mailSender.

No método de envio de e-mail em que fazemos o setTo, set Text e setFrom. Tudo funciona ok, menos o from. Recebi o e-mail do enviador e não do from que declarei no método.

Alguém sabe dizer porque o from não funcionou?

private void enviaEmailCompraProduto(Usuario usuario) {
        SimpleMailMessage email = new SimpleMailMessage();
        email.setSubject("Compra efetuada com sucesso!!!");
        //email.setTo(usuario.getEmail());
        email.setTo("meu email");
        email.setText("Compra realizada com sucesso no valor de " + carrinho.getTotal());
        email.setFrom("contato@casadocodigo.com.br"); //recebi do meu e-mail pessoal
        mailSender.send(email);
    }
@Bean
    public MailSender mailSender() {
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
        mailSender.setHost("smtp.gmail.com");
        mailSender.setUsername("email"); //esse e-mail que apareceu no from
        mailSender.setPassword("senha");
        mailSender.setPort(587);

        Properties mailProperties = new Properties();
        mailProperties.put("mail.smtp.auth", true);
        mailProperties.put("mail.smtp.starttls.enable", true);

        mailSender.setJavaMailProperties(mailProperties);

        return mailSender;
    }
3 respostas

Aí é porque você configurou com seu email pessoal e ele não da suporte para você enviar pelo from de outra pessoa.. chutaria isso. Mas talvez tenha algo além que eu não esteja enxergando.

solução!

Fala matcastro, tudo bem ?

Isso ocorre porque o Google não permite o envio de emails da sua conta com remetente diferente (outro domínio) do endereço da própria conta de email. Ele está sobrescrevendo o from com a conta que você autorizou o envio (configurou no @bean do Spring e provavelmente nas próprias configurações da sua conta de email).

Se você quiser adicionar o from diferente você precisa adicionar sua conta externa nas configurações do gmail. Dê uma olhada nesse link do google que explica como fazer - https://support.google.com/mail/answer/22370?hl=pt-BR

Espero ter ajudado. Abraço!

Alberto/Rafael,

Obrigado!