/* * Sistema de Ouvidoria: um canal através do qual os usuários * podem encaminhar suas reclamações, elogios e sugestões. * * Copyright (C) 2011 SERPRO * * Este programa é software livre; você pode redistribuí-lo e/ou * modificá-lo sob os termos da Licença Pública Geral GNU, conforme * publicada pela Free Software Foundation; tanto a versão 2 da * Licença como (a seu critério) qualquer versão mais nova. * * Este programa é distribuído na expectativa de ser útil, mas SEM * QUALQUER GARANTIA; sem mesmo a garantia implícita de * COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM * PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais * detalhes. * * Você deve ter recebido uma cópia da Licença Pública Geral GNU, * sob o título "LICENCA.txt", junto com esse programa. Se não, * acesse o Portal do Software Público Brasileiro no endereço * http://www.softwarepublico.gov.br/ ou escreva para a Fundação do * Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, * MA 02111-1301, USA. * * Contatos através do seguinte endereço internet: * http://www.serpro.gov.br/sistemaouvidoria/ */ package br.gov.serpro.ouvidoria.controller.andamento; import java.util.List; import br.gov.serpro.ouvidoria.dao.Dao; import br.gov.serpro.ouvidoria.dao.DaoException; import br.gov.serpro.ouvidoria.dao.DaoFactory; import br.gov.serpro.ouvidoria.model.Acionamento; import br.gov.serpro.ouvidoria.model.Orgao; import br.gov.serpro.ouvidoria.model.ParametrosGerais; import br.gov.serpro.ouvidoria.util.Utilitario; /** * Objetivo: Controlar as operações sobre os objetos relacionados à parte de * envio da resposta de um acionamento por email. * * @author SERPRO * @version $Revision: 1.1.2.6 $, $Date: 2011/11/10 12:40:51 $ * @version 0.1, Date: 2004/12/20 */ public class EnviarEmailCtrl { /** atributo para datasource do acionamento */ /* Requerido */ private Dao acionamentoDao; /** atributo para datasource dos Parâmetros Gerais */ /* Requerido */ private Dao parametrosGeraisDao; /** * Construtor recebendo objeto Dao * * @param daoFactory */ public EnviarEmailCtrl(final DaoFactory daoFactory) { acionamentoDao = daoFactory.create(Acionamento.class); parametrosGeraisDao = daoFactory.create(ParametrosGerais.class); } /** * Método para recuperar um acionamento a partir de um id * * @param id * identificador do acionamento */ public Acionamento get(Long id) throws DaoException { if (id == null) { throw new DaoException("ID do Objeto não pode ser nulo."); } return (Acionamento) acionamentoDao.get(id); } /** * Método para salvar um acionamento * * @param pAcionamento * acionamento a ser salvo */ public void salvarAcionamento(Acionamento pAcionamento) throws DaoException { acionamentoDao.save(pAcionamento); } /** * Este método é responsável por enviar email. * * @param pAcionamento * acionamento cuja resposta será enviada do email. * @param pOrgao * Órgão da aplicação. * @throws MessagingException * @throws AddressException */ public boolean enviarEmail(Acionamento pAcionamento, Orgao pOrgao, String pEnderecoUrl) throws DaoException { String lsServidorSMTP = ""; String lsDe = ""; String lsPara = ""; String lsAssunto = ""; String lsTexto = ""; List listaParametrosGerais = parametrosGeraisDao.list(); if (listaParametrosGerais != null) lsServidorSMTP = ((ParametrosGerais) listaParametrosGerais.get(0)) .getServidorSMTP(); lsDe = pOrgao.getConfiguracoes().getRemetenteEmail(); lsPara = pAcionamento.getAcionador().getEmail(); lsAssunto = "Ouvidoria - " + pOrgao.getConfiguracoes().getNomeExibicaoOrgao(); lsTexto = pOrgao.getConfiguracoes().getTextoApresentacaoResposta() + "<br><br>"; lsTexto = lsTexto + "Resposta referente ao acionamento de " + "protocolo n\u00FAmero: <b>" + pAcionamento.getNumeroProtocolo() + "</b><br><br>"; lsTexto = lsTexto + "<br><b>Sua Mensagem</b><br>" + pAcionamento.getMensagem().getTexto() + "<br><br>"; lsTexto = lsTexto + "<b>Resposta da Ouvidoria</b><br>" + pAcionamento.getRespostaAcionamento().getTexto() + "<br><br>"; lsTexto = lsTexto + "<b>Avalie a sua resposta no link:</b><br>" + "<a href='" + pEnderecoUrl + "'>Avaliar Resposta</a><br><br>"; lsTexto = lsTexto + "Atenciosamente,<br><br>" + "Ouvidoria - " + pOrgao.getConfiguracoes().getNomeExibicaoOrgao() + "<br>" + pOrgao.getConfiguracoes().getUrlBaseFuncionarios() + "<br><br> MENSAGEM AUTOMÁTICA: Não responda à esta mensagem. <BR>" + "Se desejar entrar em contato, acesse novamente o sistema.<BR>"; return Utilitario.enviarEmail(lsServidorSMTP, lsDe, lsPara, "", "", lsAssunto, lsTexto); } }