Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.edu.cesmac.sic.core.domain.util;
2
 
3
import java.io.IOException;
4
 
5
import org.apache.commons.mail.EmailException;
6
import org.apache.commons.mail.HtmlEmail;
7
 
8
import br.edu.cesmac.core.exception.NegocioException;
9
import br.edu.cesmac.core.util.VerificadorUtil;
10
 
11
public class EmailUtil {
12
 
13
        private static final String MENSAGEM_TEXTO_SOBRE_MUDANCAS_SITUACAO_INSCRICAO_SISTEMA_INICIACAO_CIENTIFICA = "Houve atualização da situação da inscrição do projeto de pesquisa submetido. Para mais detalhes acesse o Sistema de Iniciação Científica.";
14
        private static final String ASSUNTO_EMAIL_SISTEMA_INICIACAO_CIENTIFICA = "SISTEMA DE INICIAÇÃO CIENTÍFICA";
15
        private static final String NOME_PROPRIEDADE_EMAIL_EMAILORIGEM = "email.emailorigem";
16
        private static final String NOME_PROPRIEDADE_EMAIL_SENHA = "email.senha";
17
        private static final String NOME_PROPRIEDADE_EMAIL_USUARIO = "email.usuario";
18
        private static final String NOME_PROPRIEDADE_EMAIL_PORTA = "email.porta";
19
        private static final String NOME_PROPRIEDADE_EMAIL_HOSTNAME = "email.hostname";
20
        private static final String NOME_ARQUIVO_EMAIL_PROPERTY = "/email.properties";
21
        private static final String NOME_ARQUIVO_PADRAO_EMAIL = "/mensagemPadrao.html";
22
 
23
 
24
        public static void enviarEmailComInformacoesSobreInscricao(String emailDestino, String observacao) {
25
                try {
26
                        HtmlEmail email = criarEmailHtmlIhAdicionarPropriedadePadrao();
27
 
28
                        email.addTo(emailDestino);
29
                        email.setSubject(ASSUNTO_EMAIL_SISTEMA_INICIACAO_CIENTIFICA);
30
//                      String textoHtml = gerarHtmlMensagemDoEmail(usuario, senha);
31
//                      email.setHtmlMsg(textoHtml.toString());
32
//                      email.setHtmlMsg(observacao);
33
                        StringBuilder texto = new StringBuilder(MENSAGEM_TEXTO_SOBRE_MUDANCAS_SITUACAO_INSCRICAO_SISTEMA_INICIACAO_CIENTIFICA);
34
                        if (VerificadorUtil.naoEstaNuloOuVazio(observacao)) {
35
                                texto.append("\n\nOBSERVAÇÕES:\n");
36
                                texto.append(observacao);
37
                        }
38
                        email.setTextMsg(texto.toString());
39
                        email.send();
40
 
41
                } catch (EmailException | IOException e) {
42
                        throw new NegocioException("Erro ao enviar email: "+ e.getMessage());
43
                }
44
        }
45
 
46
        public static void enviarEmailComInformacoesSobreInscricao(String emailDestino, String mensagemPrincipal, String observacao) {
47
                try {
48
                        HtmlEmail email = criarEmailHtmlIhAdicionarPropriedadePadrao();
49
 
50
                        email.addTo(emailDestino);
51
                        email.setSubject(ASSUNTO_EMAIL_SISTEMA_INICIACAO_CIENTIFICA);
52
                        StringBuilder texto = new StringBuilder(mensagemPrincipal);
53
                        if (VerificadorUtil.naoEstaNuloOuVazio(observacao)) {
54
                                texto.append("\n\nOBSERVAÇÕES:\n");
55
                                texto.append(observacao);
56
                        }
57
                        email.setTextMsg(texto.toString());
58
                        email.send();
59
 
60
                } catch (EmailException | IOException e) {
61
                        throw new NegocioException("Erro ao enviar email: "+ e.getMessage());
62
                }
63
        }
64
 
65
        public static void enviarEmailParaContatoProjetoPesquisa(String emailDestino, String tituloProjetoPesquisa, String conteudo) {
66
                try {
67
                        HtmlEmail email = criarEmailHtmlIhAdicionarPropriedadePadrao();
68
 
69
                        email.addTo(emailDestino);
70
                        email.setSubject(ASSUNTO_EMAIL_SISTEMA_INICIACAO_CIENTIFICA + " : " + tituloProjetoPesquisa);
71
//                      email.setHtmlMsg(conteudo);
72
                        email.setTextMsg(conteudo);
73
                        email.send();
74
 
75
                } catch (EmailException | IOException e) {
76
                        throw new NegocioException("Erro ao enviar email: "+ e.getMessage());
77
                }
78
        }
79
 
80
        /*
81
        private static String gerarHtmlMensagemDoEmail(String usuario, String senha) {
82
                AbrirArquivo abrirArquivo = new AbrirArquivo();
83
                return abrirArquivo.retornarConteudoDoArquivo(NOME_ARQUIVO_PADRAO_EMAIL);
84
        }
85
        */
86
 
87
        private static HtmlEmail criarEmailHtmlIhAdicionarPropriedadePadrao() throws IOException, EmailException {
88
                PropertiesUtil propertiesUtil = new PropertiesUtil(NOME_ARQUIVO_EMAIL_PROPERTY);
89
 
90
                String hostname = propertiesUtil.retornarPropriedadeDoArquivo(NOME_PROPRIEDADE_EMAIL_HOSTNAME);
91
                String porta = propertiesUtil.retornarPropriedadeDoArquivo(NOME_PROPRIEDADE_EMAIL_PORTA);
92
                String usuarioEmail =propertiesUtil.retornarPropriedadeDoArquivo( NOME_PROPRIEDADE_EMAIL_USUARIO);
93
                String senha = propertiesUtil.retornarPropriedadeDoArquivo( NOME_PROPRIEDADE_EMAIL_SENHA);
94
                String emailOrigem = propertiesUtil.retornarPropriedadeDoArquivo(NOME_PROPRIEDADE_EMAIL_EMAILORIGEM);
95
 
96
                HtmlEmail email = new HtmlEmail();
97
                email.setHostName(hostname);
98
                email.setSmtpPort(new Integer(porta));
99
                email.setAuthentication(usuarioEmail, senha);
100
                email.setSSLOnConnect(true);
101
                email.setFrom(emailOrigem);
102
                return email;
103
        }
104
 
105
}