package com.algaworks.pedidovenda.controller; import java.io.Serializable; import java.util.Locale; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.inject.Named; import org.apache.velocity.tools.generic.NumberTool; import com.algaworks.pedidovenda.model.Pedido; import com.algaworks.pedidovenda.util.jsf.FacesUtil; import com.algaworks.pedidovenda.util.mail.Mailer; import com.outjected.email.api.MailMessage; import com.outjected.email.impl.templating.velocity.VelocityTemplate; @Named @RequestScoped public class EnvioPedidoEmailBean implements Serializable { private static final long serialVersionUID = 1L; @Inject private Mailer mailer; @Inject @PedidoEdicao private Pedido pedido; public void enviarPedido() { MailMessage message = mailer.novaMensagem(); message.to(this.pedido.getCliente().getEmail()) .subject("Pedido " + this.pedido.getId()) .bodyHtml(new VelocityTemplate(getClass().getResourceAsStream("/emails/pedido.template"))) .put("pedido", this.pedido) .put("numberTool", new NumberTool()) .put("locale", new Locale("pt", "BR")) .send(); FacesUtil.addInfoMessage("Pedido enviado por e-mail com sucesso!"); } }