diff --git a/src/br/com/model/entity/EnvioEmailSemAutenticacao.java b/src/br/com/model/entity/EnvioEmailSemAutenticacao.java index b3087cb..af6b28c 100644 --- a/src/br/com/model/entity/EnvioEmailSemAutenticacao.java +++ b/src/br/com/model/entity/EnvioEmailSemAutenticacao.java @@ -1,20 +1,19 @@ package br.com.model.entity; -import java.util.List; import java.util.Properties; +import javax.activation.DataHandler; import javax.mail.Authenticator; +import javax.mail.BodyPart; import javax.mail.Message; +import javax.mail.Multipart; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; - -import org.apache.commons.codec.StringEncoder; -import org.apache.commons.io.output.StringBuilderWriter; - -import br.com.model.utilities.StringHelper; +import javax.mail.internet.MimeMultipart; public class EnvioEmailSemAutenticacao { @@ -79,6 +78,7 @@ public class EnvioEmailSemAutenticacao { msg.setFrom(new InternetAddress(from)); // Setando o assunto msg.setSubject(subject); + // Setando o conte�do/corpo do email msg.setContent(message, "text/html; charset=utf-8"); @@ -194,6 +194,111 @@ public class EnvioEmailSemAutenticacao { } return retorno; } + + + public String sendMailComAnexo(String from, String to, String subject, + String corpoEmail, String comAutenticacao, String authuser, + String authpass, DataHandler arquivoRelatorio, String nomeArquivoRelatorio, DataHandler arquivoPlano, String nomeArquivoPlano) { + + Properties props = new Properties(); + String retorno = ""; + + props.put("mail.transport.protocol", "smtp"); // define protocolo de + // envio como SMTP + props.put("mail.smtp.starttls.enable", "true"); + props.put("mail.smtp.host", mailSMTPServer); // server SMTP do GMAIL + props.put("mail.smtp.auth", comAutenticacao); // ativa autenticacao + props.put("mail.smtp.user", from); // usuario ou seja, a conta que esta + // enviando o email (tem que ser do + // GMAIL) + props.put("mail.debug", "false"); + props.put("mail.smtp.port", mailSMTPServerPort); // porta + + + // Cria um autenticador que sera usado a seguir + SimpleAuth auth = null; + auth = new SimpleAuth(authuser, authpass); + // Session - objeto que ira realizar a conex�o com o servidor + /* + * Como h� necessidade de autentica��o � criada uma autenticacao que � + * responsavel por solicitar e retornar o usu�rio e senha para + * autentica��o + */ + Session session = Session.getDefaultInstance(props, auth); + session.setDebug(true); // Habilita o LOG das a��es executadas durante o + // envio do email + // Objeto que cont�m a mensagem + Message msg = new MimeMessage(session); + try { + + + // Setando o destinat�rio + + msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); + msg.reply(false); + + + // Setando a origem do email + msg.setFrom(new InternetAddress(from)); + // Setando o assunto + msg.setSubject(subject); + + Multipart multipart = new MimeMultipart(); + + //Anexando Arquivo + //FileDataSource fds = new FileDataSource(caminhoArquivo); + MimeBodyPart attachment0 = new MimeBodyPart(); + + attachment0.setDataHandler(arquivoRelatorio); + attachment0.setFileName(nomeArquivoRelatorio); + + multipart.addBodyPart(attachment0); + + + MimeBodyPart attachment1 = new MimeBodyPart(); + + attachment1.setDataHandler(arquivoPlano); + attachment1.setFileName(nomeArquivoPlano); + multipart.addBodyPart(attachment1); + + + + + // Setando o conte�do/corpo do email + MimeBodyPart attachment2 = new MimeBodyPart(); + attachment2.setContent(corpoEmail, "text/html; charset=utf-8"); + multipart.addBodyPart(attachment2); + + msg.setContent(multipart); + + } catch (Exception e) { + retorno = e.getMessage(); + System.out.println(">> Erro: Completar Mensagem"); + e.printStackTrace(); + return retorno; + } + // Objeto encarregado de enviar os dados para o email + Transport tr; + try { + tr = session.getTransport("smtp"); // define smtp para transporte + /* + * 1 - define o servidor smtp 2 - seu nome de usuario do gmail 3 - + * sua senha do gmail + */ + tr.connect(mailSMTPServer, authuser, authpass); + msg.saveChanges(); // don't forget this + // envio da mensagem + tr.send(msg);//(msg, msg.getAllRecipients()); + + tr.close(); + + } catch (Exception e) { + + System.out.println(">> Erro: Envio Mensagem"); + retorno = e.getMessage(); + } + return retorno; +} } diff --git a/src/br/com/model/entity/PlanoTrabalho.java b/src/br/com/model/entity/PlanoTrabalho.java index 78f3db0..e792513 100644 --- a/src/br/com/model/entity/PlanoTrabalho.java +++ b/src/br/com/model/entity/PlanoTrabalho.java @@ -4,7 +4,9 @@ public class PlanoTrabalho { private int idPlanoTrabalho; private byte[] arquivoPlanoTrabalho; - private String nomeExtensao; + private String nomeExtensaoPlanoTrabalho; + private byte[] arquivoRelatorioAss; + private String nomeExtensaoRelatorioAss; private Questionario questionario; public int getIdPlanoTrabalho() { @@ -20,11 +22,12 @@ public class PlanoTrabalho { public void setArquivoPlanoTrabalho(byte[] arquivoPlanoTrabalho) { this.arquivoPlanoTrabalho = arquivoPlanoTrabalho; } - public String getNomeExtensao() { - return nomeExtensao; + + public String getNomeExtensaoPlanoTrabalho() { + return nomeExtensaoPlanoTrabalho; } - public void setNomeExtensao(String nomeExtensao) { - this.nomeExtensao = nomeExtensao; + public void setNomeExtensaoPlanoTrabalho(String nomeExtensaoPlanoTrabalho) { + this.nomeExtensaoPlanoTrabalho = nomeExtensaoPlanoTrabalho; } public Questionario getQuestionario() { return questionario; @@ -32,5 +35,17 @@ public class PlanoTrabalho { public void setQuestionario(Questionario questionario) { this.questionario = questionario; } + public byte[] getArquivoRelatorioAss() { + return arquivoRelatorioAss; + } + public void setArquivoRelatorioAss(byte[] arquivoRelatorioAss) { + this.arquivoRelatorioAss = arquivoRelatorioAss; + } + public String getNomeExtensaoRelatorioAss() { + return nomeExtensaoRelatorioAss; + } + public void setNomeExtensaoRelatorioAss(String nomeExtensaoRelatorioAss) { + this.nomeExtensaoRelatorioAss = nomeExtensaoRelatorioAss; + } } diff --git a/src/br/com/model/entity/Questionario.java b/src/br/com/model/entity/Questionario.java index 7efcdff..8213c66 100644 --- a/src/br/com/model/entity/Questionario.java +++ b/src/br/com/model/entity/Questionario.java @@ -23,6 +23,7 @@ public class Questionario { private String dtRespostaEmail; private String dataRespostaQuestionario; private boolean planoTrabalhoEnviado; + private boolean flagEnviado; @@ -50,6 +51,8 @@ public class Questionario { this.idAutorizacaoGeracaoHash = rset.getInt("idAutorizacao"); this.dtRecebimentoEmail = rset.getString("data_recebimento_email"); this.dtRespostaEmail = rset.getString("data_resposta_email"); + this.flagEnviado = rset.getBoolean("flag_enviado"); + } } catch (Exception e) { @@ -179,6 +182,14 @@ public class Questionario { this.planoTrabalhoEnviado = planoTrabalhoEnviado; } + public boolean isFlagEnviado() { + return flagEnviado; + } + + public void setFlagEnviado(boolean flagEnviado) { + this.flagEnviado = flagEnviado; + } + } diff --git a/src/br/com/model/utilities/Email.java b/src/br/com/model/utilities/Email.java index 358bf65..c69b79d 100644 --- a/src/br/com/model/utilities/Email.java +++ b/src/br/com/model/utilities/Email.java @@ -29,6 +29,7 @@ public class Email { private String to; private String from; private String copiaEmailTo; + private String anexosTo; private MultiPartEmail email; private EmailAttachment anexo; @@ -114,6 +115,16 @@ public class Email { public void setAnexo(EmailAttachment anexo) { this.anexo = anexo; } + + + + public String getAnexosTo() { + return anexosTo; + } + + public void setAnexosTo(String anexosTo) { + this.anexosTo = anexosTo; + } private void initConf(String path){ ManagerProperties managerProperties = new ManagerProperties(); @@ -128,6 +139,7 @@ public class Email { this.to = prop.getProperty("prop.email.to"); this.from = prop.getProperty("prop.email.from"); this.copiaEmailTo = prop.getProperty("prop.email.copiaEmailTo"); + this.anexosTo = prop.getProperty("prop.email.anexosTo"); } catch (IOException e) { // TODO Auto-generated catch block @@ -147,6 +159,7 @@ public class Email { this.to = to; this.email = new HtmlEmail(); + } /** -- libgit2 0.21.2