Ola pessoal, estou desenvolvendo um projeto, e me deparei com a necessidade de gerar relatorios com struts 2 , até ae td bem , mas queria enviar o relatorio gerado por email .
segue meu codigo da minha action q gera o pdf usando anotations do Struts 2:
@Action(value=montaPdfFrota, results={ @Result(name=ok,type=jasper,
location=/pdf/frota.jasper,
params={dataSource,frotabanco,format,PDF}),
@Result(name=ok, type=redirectAction,
params={actionName, ActionEnviaEmail}),
@Result(name=input, location=/erro.jsp)
})
A outra action que envia o email
public String execute() {
// cria o anexo 1.
try {
EmailAttachment anexo1 = new EmailAttachment();
anexo1.setPath(C:/workspace/PortalBonanza/WebContent/pdf/frota.jasper); //caminho do arquivo (RAIZ_PROJETO/teste/teste.txt)
anexo1.setDisposition(EmailAttachment.ATTACHMENT);
anexo1.setDescription(Exemplo de arquivo anexo);
anexo1.setName(frota.jasper);
// configura o email
MultiPartEmail email = new MultiPartEmail();
email.setHostName(smtp.gmail.com); // o servidor SMTP para envio do e-mail
email.addTo([email removido], Guilherme); //destinatário
email.setFrom([email removido], Eu); // remetente
email.setSubject(Teste -> Email com anexos); // assunto do e-mail
email.setMsg(Teste de Email utilizando commons-email); //conteudo do e-mail
email.setAuthentication(rogeriowebteste, xxxxxxx);
email.setSmtpPort(465);
email.setSSL(true);
email.setTLS(true);
// adiciona arquivo(s) anexo(s)
email.attach(anexo1);
// envia o email
email.send();
return ok;
[code]
é enviado o email do arquivo jasper, e nao do pdf como faço pra mandar o arquivo PDF gerado por email alguem tem uma luz?