Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida referente ao FROM no envio de email

Qual a real necessidade de colocar o "message.setFrom(new InternetAddress(from));" na classe MailSender, se a configuração do email que irá enviar será do servidor wildfly?

@ApplicationScoped // O CDI vai criar o objeto e o manterá vivo durante todo o contexto da aplicação
public class MailSender {

    @Resource(mappedName = "java:/jboss/mail/gmail") // A configuração esta mapeada no standalone do Wildfly
    private Session session;

    public void send(String from, String to, String subject, String messageBody) {

        MimeMessage message = new MimeMessage(session);
        try {
            message.setRecipients(javax.mail.Message.RecipientType.TO, InternetAddress.parse(to));
            message.setFrom(new InternetAddress(from));
            message.setSubject(subject);
            message.setContent(messageBody, "text/html");

            Transport.send(message);

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }
}
public class EnviaEmailCompra implements MessageListener { // implementa para receber a mensagem

    @Inject
    private MailSender mailSender;
    @Inject
    private CompraDao compraDao;

    public void onMessage(Message message) {

        try {
            TextMessage textMessage = (TextMessage) message; // converte a mensagem em String
            Compra compra = compraDao.buscaPorUuid(textMessage.getText());

            String messageBody = "Olá " + compra.getUsuario().getNome()
                    + ", sua compra foi realizada com sucesso, com o número de pedido: " + compra.getUuid();
            mailSender.send("compras@casacodigo.com.br", compra.getUsuario().getEmail(), "Nova Compra na CDC",
                    messageBody);

        } catch (JMSException e) {
            e.printStackTrace();
        }
    }
}
1 resposta
solução!

Oi Thiago, boa pergunta... Vou responder com outra pergunta, para a gente explorar aqui.. Se você não passar, funciona? Se funcionar, ótimo... Se não funcionar, acho que o motivo é que a api não pode se acoplar com o servidor javaee que vai ser utilizado. Lá no wildfly, você poderia ter configurado um serviço corporativo de email que te daria possibilidade de colocar os "froms" que você quisesse :).

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software