Commit a0eea91849e4696bb7c36415db4f0c81fc481d4d
Exists in
master
Merge branch 'master' of https://softwarepublico.gov.br:443/gitlab/relatoriocirc…
…unstanciado/relatoriocircunstanciado.git
Showing
6 changed files
with
53 additions
and
15 deletions
Show diff stats
WebContent/WEB-INF/intervaloRespostaFormulario.properties
0 → 100644
WebContent/WEB-INF/jsp/questionario/questionario.jsp
... | ... | @@ -19,10 +19,6 @@ |
19 | 19 | <input type="text" id="noOrgao" name="noOrgao"><br><br> |
20 | 20 | <label for="emailDestinoOrgao">Email: </label> |
21 | 21 | <input type="text" id="emailDestinoOrgao" name="emailDestinoOrgao"><br><br> |
22 | -<label for="dtInicioQuestionario">Início: </label> | |
23 | -<input type="date" id="dtInicioQuestionario" name="dtInicioQuestionario"><br><br> | |
24 | -<label for="dtFimQuestionario">Fim: </label> | |
25 | -<input type="date" id="dtFimQuestionario" name="dtFimQuestionario"><br><br> | |
26 | 22 | <label for="file">Arquivo: </label> |
27 | 23 | <input type="file" id="file" name="file"><br><br> |
28 | 24 | <input type="submit" value="Salvar"> | ... | ... |
WebContent/WEB-INF/mail.properties
... | ... | @@ -6,4 +6,5 @@ prop.email.authuser = "" |
6 | 6 | prop.email.authpass = "" |
7 | 7 | prop.email.auth = false |
8 | 8 | prop.email.to = "" |
9 | -prop.email.from = govbr@planejamento.gov.br | |
10 | 9 | \ No newline at end of file |
10 | +prop.email.from = govbr@planejamento.gov.br | |
11 | +prop.email.copiaEmailTo = govbr@planejamento.gov.br | |
11 | 12 | \ No newline at end of file | ... | ... |
src/br/com/controller/QuestionarioController.java
1 | 1 | package br.com.controller; |
2 | 2 | |
3 | 3 | import java.io.BufferedReader; |
4 | +import java.io.IOException; | |
4 | 5 | import java.io.InputStreamReader; |
6 | +import java.util.Properties; | |
5 | 7 | |
8 | +import javax.mail.Address; | |
6 | 9 | import javax.servlet.ServletContext; |
7 | 10 | |
8 | 11 | import br.com.model.utilities.Email; |
12 | +import br.com.model.utilities.ManagerProperties; | |
9 | 13 | import br.com.model.utilities.StringHelper; |
10 | 14 | import br.com.caelum.vraptor.Path; |
11 | 15 | import br.com.caelum.vraptor.Resource; |
... | ... | @@ -40,14 +44,29 @@ public class QuestionarioController { |
40 | 44 | } |
41 | 45 | |
42 | 46 | @Path("/salvar-questionario") |
43 | - public void questionarioSalvar(String emailDestinoOrgao, UploadedFile file, | |
44 | - String dtInicioQuestionario, String dtFimQuestionario, String noOrgao) { | |
47 | + public void questionarioSalvar(String emailDestinoOrgao, UploadedFile file, String noOrgao) { | |
45 | 48 | |
46 | 49 | String codigoHash = noOrgao + DateUtil.dataHoraAtual().toString().replace("/", "").replace(" ", "").replace(":", ""); |
47 | 50 | |
48 | 51 | Questionario questionario = new Questionario(); |
49 | 52 | // BufferedReader reader = new BufferedReader(new InputStreamReader(file.getFile())); |
50 | 53 | |
54 | + ManagerProperties managerProperties = new ManagerProperties(); | |
55 | + | |
56 | + String dtInicioQuestionario = ""; | |
57 | + String dtFimQuestionario = ""; | |
58 | + | |
59 | + try { | |
60 | + Properties prop = managerProperties.getProp(this.application.getRealPath("") + "/WEB-INF/intervaloRespostaFormulario.properties"); | |
61 | + | |
62 | + dtInicioQuestionario = prop.getProperty("dataInicio"); | |
63 | + dtFimQuestionario = prop.getProperty("dataFim"); | |
64 | + | |
65 | + } catch (IOException e) { | |
66 | + // TODO Auto-generated catch block | |
67 | + e.printStackTrace(); | |
68 | + } | |
69 | + | |
51 | 70 | questionario.setDtInicioQuestionario(dtInicioQuestionario); |
52 | 71 | questionario.setDtFimQuestionario(dtFimQuestionario); |
53 | 72 | questionario.setEmailDestinoOrgao(emailDestinoOrgao); |
... | ... | @@ -85,12 +104,13 @@ public class QuestionarioController { |
85 | 104 | |
86 | 105 | EnvioEmailSemAutenticacao envioEmailSemAutenticacao = |
87 | 106 | new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort())); |
88 | - | |
107 | + | |
108 | + | |
89 | 109 | respSendEmail = |
90 | 110 | envioEmailSemAutenticacao.sendMail(email.getFrom(), contato.getEmail(), |
91 | 111 | StringHelper.convertFromUTF8(contato.getAssunto()), |
92 | 112 | StringHelper.convertFromUTF8(contato.getMensagem()), email.getAuth(), |
93 | - email.getAuthUser(), email.getAuthPass()); | |
113 | + email.getAuthUser(), email.getAuthPass(), email.getCopiaEmailTo()); | |
94 | 114 | |
95 | 115 | |
96 | 116 | /* | ... | ... |
src/br/com/model/entity/EnvioEmailSemAutenticacao.java
... | ... | @@ -31,7 +31,8 @@ public class EnvioEmailSemAutenticacao { |
31 | 31 | |
32 | 32 | public String sendMail(String from, String to, String subject, |
33 | 33 | String message, String comAutenticacao, String authuser, |
34 | - String authpass) { | |
34 | + String authpass, String copiaEmailTo) { | |
35 | + | |
35 | 36 | Properties props = new Properties(); |
36 | 37 | String retorno = ""; |
37 | 38 | |
... | ... | @@ -45,6 +46,7 @@ public class EnvioEmailSemAutenticacao { |
45 | 46 | // GMAIL) |
46 | 47 | props.put("mail.debug", "false"); |
47 | 48 | props.put("mail.smtp.port", mailSMTPServerPort); // porta |
49 | + | |
48 | 50 | |
49 | 51 | // Cria um autenticador que sera usado a seguir |
50 | 52 | SimpleAuth auth = null; |
... | ... | @@ -61,14 +63,21 @@ public class EnvioEmailSemAutenticacao { |
61 | 63 | // Objeto que cont�m a mensagem |
62 | 64 | Message msg = new MimeMessage(session); |
63 | 65 | try { |
66 | + | |
67 | + | |
64 | 68 | // Setando o destinat�rio |
65 | 69 | msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); |
70 | + msg.setReplyTo(new javax.mail.Address[] | |
71 | + { | |
72 | + new javax.mail.internet.InternetAddress(copiaEmailTo) | |
73 | + }); | |
74 | + | |
66 | 75 | // Setando a origem do email |
67 | 76 | msg.setFrom(new InternetAddress(from)); |
68 | 77 | // Setando o assunto |
69 | 78 | msg.setSubject(subject); |
70 | 79 | // Setando o conte�do/corpo do email |
71 | - msg.setContent(message, "text/html; charset=utf-8"); | |
80 | + msg.setContent(message, "text/html; charset=utf-8"); | |
72 | 81 | |
73 | 82 | } catch (Exception e) { |
74 | 83 | retorno = e.getMessage(); | ... | ... |
src/br/com/model/utilities/Email.java
... | ... | @@ -2,9 +2,13 @@ package br.com.model.utilities; |
2 | 2 | |
3 | 3 | import java.io.IOException; |
4 | 4 | import java.net.MalformedURLException; |
5 | +import java.util.Collection; | |
5 | 6 | import java.util.Date; |
7 | +import java.util.List; | |
6 | 8 | import java.util.Properties; |
7 | 9 | |
10 | +import javax.mail.Address; | |
11 | + | |
8 | 12 | import lombok.AccessLevel; |
9 | 13 | import lombok.Getter; |
10 | 14 | import net.htmlparser.jericho.Source; |
... | ... | @@ -17,8 +21,9 @@ import org.apache.commons.mail.MultiPartEmail; |
17 | 21 | |
18 | 22 | /** |
19 | 23 | * @category utilities |
20 | - * @version 1.0*/ | |
21 | -public class Email { | |
24 | + * @version 1.0 | |
25 | + * @param <InternetAddress>*/ | |
26 | +public class Email<InternetAddress> { | |
22 | 27 | |
23 | 28 | @Getter private String authUser; |
24 | 29 | @Getter private String authPass; |
... | ... | @@ -27,12 +32,14 @@ public class Email { |
27 | 32 | @Getter private int port; |
28 | 33 | @Getter private String to; |
29 | 34 | @Getter private String from; |
35 | + @Getter private String copiaEmailTo; | |
30 | 36 | |
31 | 37 | private MultiPartEmail email; |
32 | 38 | private EmailAttachment anexo; |
33 | 39 | |
34 | 40 | |
35 | - private void initConf(String path){ | |
41 | + @SuppressWarnings("unchecked") | |
42 | + private void initConf(String path){ | |
36 | 43 | ManagerProperties managerProperties = new ManagerProperties(); |
37 | 44 | try { |
38 | 45 | Properties prop = managerProperties.getProp(path); |
... | ... | @@ -44,6 +51,7 @@ public class Email { |
44 | 51 | this.auth = prop.getProperty("prop.email.auth"); |
45 | 52 | this.to = prop.getProperty("prop.email.to"); |
46 | 53 | this.from = prop.getProperty("prop.email.from"); |
54 | + this.copiaEmailTo = prop.getProperty("prop.email.copiaEmailTo"); | |
47 | 55 | |
48 | 56 | } catch (IOException e) { |
49 | 57 | // TODO Auto-generated catch block |
... | ... | @@ -77,12 +85,14 @@ public class Email { |
77 | 85 | * @throws EmailException |
78 | 86 | * @throws MalformedURLException |
79 | 87 | * @return String*/ |
80 | - public String sendEmail2( String nomeDestinatario, String emailDestinatario, String nomeRemetente, String emailRemetente, String assunto, String mensagem, boolean isHtml) throws EmailException { | |
88 | + @SuppressWarnings("unchecked") | |
89 | + public String sendEmail( String nomeDestinatario, String emailDestinatario, String nomeRemetente, String emailRemetente, String assunto, String mensagem, boolean isHtml, List<InternetAddress> copiaEmailTo) throws EmailException { | |
81 | 90 | |
82 | 91 | this.email.setHostName(this.host); // o servidor SMTP para envio do e-mail |
83 | 92 | this.email.addTo(emailDestinatario, nomeDestinatario); //destinat�rio |
84 | 93 | this.email.setFrom(emailRemetente, emailRemetente+", "); // remetente |
85 | 94 | this.email.setSubject(assunto); // assunto do e-mail |
95 | + this.email.setCc((Collection<javax.mail.internet.InternetAddress>) copiaEmailTo); | |
86 | 96 | |
87 | 97 | if(isHtml) |
88 | 98 | this.email.setContent("<p>Ol�, <b>"+nomeRemetente+"</b> enviou a seguinte mensagem:</p> \n "+mensagem, "text/html"); | ... | ... |