Commit a0eea91849e4696bb7c36415db4f0c81fc481d4d

Authored by fabricio
2 parents bb58452e 2b9c3acb
Exists in master

Merge branch 'master' of https://softwarepublico.gov.br:443/gitlab/relatoriocirc…

…unstanciado/relatoriocircunstanciado.git
WebContent/WEB-INF/intervaloRespostaFormulario.properties 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 +dataInicio = 01/10/2016
  2 +dataFim = 30/10/2016
0 3 \ No newline at end of file
... ...
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 = &quot;&quot;
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");
... ...