Bom dia Pessoal;
Estou com uma dúvida,
Criei um relatório estou chamando ele na tela, está funcionando perfeitamente, mas quero anexa-ló para enviar por e-mail de forma automática.
Segue as rotinas que eu criei:
******* ROTINA QUE CRIA O RELATÓRIO ********
public String relatorio() {
try {
InputStream arquivo = FacesContext.getCurrentInstance().getExternalContext()
.getResourceAsStream("/ExtratoAgua.jasper");
Map<String, Object> map = new HashMap<String, Object>();
map.put("cod_cad01", buscado.getCodigo());
// map.put("data_da_leitura",
// lista_leituras.get(lista_leituras.size()).getData_da_leitura());
byte[] pdf;
// byte[] pdf2;
pdf = JasperRunManager.runReportToPdf(arquivo, map,
HibernateUtil.getSessionFactory().openSession().connection());
HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext()
.getResponse();
ServletOutputStream out = response.getOutputStream();
out.write(pdf);
out.flush();
out.close();
// Finalizar o ciclo de vida do jsf (nao voltar para o .xhtml)
FacesContext.getCurrentInstance().responseComplete();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
****** CLASSE QUE ENVIA O EMAIL ******
public class EmailUtil {
public static Email conectaEmail() throws EmailException {
Email email = new SimpleEmail();
email.setHostName(HOSTNAME);
email.setSmtpPort(587);
email.setAuthentication(USERNAME, PASSWORD);
email.setTLS(true);
email.setSSL(true);
email.setFrom(USERNAME, USERNAME);
return email;
}
public static String enviarEmail(Mensagem m, EmailAttachment anexo) throws Exception {
HtmlEmail email = new HtmlEmail();
// anexo.setPath(arquivo);
anexo.setDisposition(EmailAttachment.ATTACHMENT);
// anexo.setName(arquivo);
email.attach(anexo);
email = (HtmlEmail) conectaEmail();
for (int i = 1; i < 2; i++) {
email.setSubject("Extrato do Consumo de Água " + i);
email.addTo(m.getPara());
email.setMsg("Segue em anexo seu extrato do consumo de água");
email.send();
}
return "Email enviado com Sucesso";
}
}
Eu imagino que tenha que passar usar o método enviarEmail passando o arquivo em pdf, Mas não consegui converter o arquivo jasper em pdf.
Desde já agradeço.
Fico no Aguardo.