From 01059982e3b4b754a5d29000da5e5635c3fb0ccb Mon Sep 17 00:00:00 2001
From: Frederico Palma
Date: Fri, 15 Nov 2013 16:46:45 +0000
Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1821
bb69d46d-e84e-40c8-a05a-06db0d633741
---
trunk/PlanosActuacao/src/mail/Mail.java | 106 ++++++++++++++
.../src/mail/MailNextPhase.java | 134 ++++++++++++++++++
2 files changed, 240 insertions(+)
create mode 100644 trunk/PlanosActuacao/src/mail/Mail.java
create mode 100644 trunk/PlanosActuacao/src/mail/MailNextPhase.java
diff --git a/trunk/PlanosActuacao/src/mail/Mail.java b/trunk/PlanosActuacao/src/mail/Mail.java
new file mode 100644
index 00000000..7f5c626a
--- /dev/null
+++ b/trunk/PlanosActuacao/src/mail/Mail.java
@@ -0,0 +1,106 @@
+package mail;
+
+import com.evolute.utils.error.ErrorLogger;
+import java.util.Date;
+import java.util.Properties;
+import javax.mail.BodyPart;
+import javax.mail.Message;
+import javax.mail.Multipart;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+import shst.companydataloaders.SIPRPPropertiesLoader;
+
+public class Mail
+{
+ private final static String SMTP_HOST = "mail.evolute.pt";
+ private final static int SMTP_PORT = 587;
+ private final String SMTP_USERNAME = "acidentes.auchan@siprp.pt";
+ private final String SMTP_PASSWORD = "EghRzS2l";
+
+ public final static String ENDERECO_ENVIO = "planos.auchan@siprp.pt";
+
+ private final String BCC_1 = "departamentotecnico@siprp.pt";
+
+ private final String DEBUG_EMAIL_TO = "dneves@evolute.pt";
+
+
+ public void send( String emailTo, String emailFrom, MailNextPhase nextPhase ) throws Exception
+ {
+ send( emailTo, emailFrom, nextPhase.getSubject(), nextPhase.getBody() );
+ }
+
+ public void send( String emailTo, String emailFrom, String assunto, String texto_email )
+ throws Exception
+ {
+ Boolean isDebug = SIPRPPropertiesLoader.getInstance().findProperty( "debug", false );
+
+ Properties props = new Properties();
+ props.put("mail.smtp.host", SMTP_HOST );
+ props.put("mail.from", emailFrom );
+ props.put("mail.smtp.auth", "true" );
+ props.put("mail.smtp.user", SMTP_USERNAME );
+ props.put("mail.smtp.password", SMTP_PASSWORD );
+
+ Session session = Session.getDefaultInstance( props );
+
+ Message msg = new MimeMessage( session );
+ msg.setFrom( new InternetAddress( emailFrom ) );
+ InternetAddress[] address = new InternetAddress[] {
+ new InternetAddress( isDebug ? DEBUG_EMAIL_TO : emailTo )
+ };
+ msg.setRecipients( Message.RecipientType.TO, address );
+
+ // for debuging purposes, we dont want to send emails to anyone else !
+ if ( ! isDebug )
+ {
+ InternetAddress[] addressBCC = new InternetAddress[] {
+ new InternetAddress( BCC_1 )
+ };
+ msg.setRecipients( Message.RecipientType.BCC, addressBCC );
+ }
+
+ ( ( MimeMessage ) msg ).setSubject( assunto, "ISO-8859-1" );
+ msg.setSentDate( new Date() );
+ Multipart multipart = new MimeMultipart();
+ BodyPart msgBodyPart = new MimeBodyPart();
+ String html;
+ html=" ";
+ html+="";
+ html+= texto_email;
+ html+="";
+ msgBodyPart.setContent( html, "text/html" );
+ multipart.addBodyPart( msgBodyPart );
+ msg.setContent( multipart );
+
+ String log = "Mail . send() :\n" +
+ "To : " + emailTo + ", From : " + emailFrom + "\n" +
+ "Subject : " + assunto + "\n" +
+ "Message Body :\n" + texto_email + "\n" +
+ "\n" +
+ "Result : ";
+ try
+ {
+ Transport t = session.getTransport( "smtp" );
+ t.connect( SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD );
+ t.sendMessage( msg, msg.getAllRecipients() );
+ t.close();
+
+ log += "sent !\n";
+ ErrorLogger.log( log );
+ }
+ catch ( Exception e )
+ {
+ log += "error occurred : " + e.getMessage() + "\n(See next error log (should be this exception stacktrace!)\n";
+ ErrorLogger.log( log );
+ // note: no need to call log( e ) as it should be caught be who called this method ..
+
+ throw e;
+ }
+ }
+
+}
+
diff --git a/trunk/PlanosActuacao/src/mail/MailNextPhase.java b/trunk/PlanosActuacao/src/mail/MailNextPhase.java
new file mode 100644
index 00000000..3794748c
--- /dev/null
+++ b/trunk/PlanosActuacao/src/mail/MailNextPhase.java
@@ -0,0 +1,134 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package mail;
+
+import db.entidades.PlanoActuacao;
+
+/**
+ *
+ * @author dneves
+ */
+public interface MailNextPhase
+{
+
+ public String getSubject();
+
+ public String getBody();
+
+
+
+ public class SIPRP_TO_RESPONSAVEL_SEGURANCA implements MailNextPhase
+ {
+ private final PlanoActuacao p;
+
+ public SIPRP_TO_RESPONSAVEL_SEGURANCA( PlanoActuacao p )
+ {
+ this.p = p;
+ }
+
+ @Override
+ public String getSubject()
+ {
+ return "Plano de Actuacao da Avaliacao de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento();
+ }
+
+ @Override
+ public String getBody()
+ {
+// String mail_text = "Exmo. (a) Senhor (a),
";
+// mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa efectuar o seu preenchimento.
";
+// mail_text += "Recordamos que dispõe de duas semanas para efectuar o seu preenchimento e passar o respectivo processo para a fase seguinte, ou seja, para o responsável pelo seu estabelecimento.
";
+// mail_text += "Caso tenha alguma dúvida ou necessite de qualquer esclarecimento, contacte, por favor, a área técnica da SIPRP através do telefone 213 504 540.
";
+// mail_text += "Cumprimentos,
";
+// mail_text += "A equipa da SIPRP
";
+// mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático
";
+// return mail_text;
+
+ String body = "";
+ body += "Exmo. (a) Senhor (a),
";
+ body += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa efectuar o seu preenchimento.
";
+ body += "Recordamos que dispõe de 30 dias para efectuar o seu preenchimento e passar o respectivo processo para a fase seguinte, ou seja, para o responsável pelo seu estabelecimento.
";
+ body += "Caso tenha alguma dúvida ou necessite de qualquer esclarecimento, contacte, por favor, a área técnica da SIPRP através do telefone 213 504 540.
";
+ body += "Cumprimentos,
";
+ body += "A equipa da SIPRP
";
+ return body;
+ }
+ }
+
+ public class RESPONSAVEL_SEGURANCA_TO_DIRECTOR_LOJA implements MailNextPhase
+ {
+ private final PlanoActuacao p;
+
+ public RESPONSAVEL_SEGURANCA_TO_DIRECTOR_LOJA( PlanoActuacao p )
+ {
+ this.p = p;
+ }
+
+ @Override
+ public String getSubject()
+ {
+ return "Plano de Actuacao da Avaliacao de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento();
+ }
+
+ @Override
+ public String getBody()
+ {
+// String mail_text = "Exmo. (a) Senhor (a),
";
+// mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de ";
+// mail_text += "Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa ";
+// mail_text += "validar a informação preenchida.
";
+// mail_text += "Cumprimentos.
";
+// mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+// return mail_text;
+
+ String body = "";
+ body += "Exmo. (a) Senhor (a),
";
+ body += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa validar a informação preenchida.
";
+ body += "Recordamos que dispõe de 15 dias para efectuar o seu preenchimento e passar o respectivo processo para a fase seguinte, ou seja, para a Direcção Nacional de Seguran�a.
";
+ body += "Caso tenha alguma dúvida ou necessite de qualquer esclarecimento, contacte, por favor, a área técnica da SIPRP através do telefone 213 504 540.
";
+ body += "Cumprimentos,
";
+ body += "A equipa da SIPRP
";
+ return body;
+ }
+ }
+
+ public class DIRECTOR_LOJA_TO_DIRECTOR_NACIONAL_SEGURANCA implements MailNextPhase
+ {
+ private final PlanoActuacao p;
+
+ public DIRECTOR_LOJA_TO_DIRECTOR_NACIONAL_SEGURANCA( PlanoActuacao p )
+ {
+ this.p = p;
+ }
+
+ @Override
+ public String getSubject()
+ {
+ return "Plano de Actuacao da Avaliacao de Riscos de " + p.getData_visita_str() + " - " + p.getNome_estabelecimento();
+ }
+
+ @Override
+ public String getBody()
+ {
+// String mail_text = "Exmo. Senhor Silvestre Machado,
";
+// mail_text += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que o possa validar.
";
+// mail_text += "Cumprimentos.
";
+// mail_text += "Por favor não responda a esta mensagem, dado tratar-se de um e-mail automático";
+// return mail_text;
+
+ String body = "";
+ body += "Exmo. (a) Senhor (a),
";
+ body += "Encontra-se disponível em www.siprp.com o Plano de Actuação referente à auditoria de Avaliação de Riscos Laborais realizada no passado dia " + p.getData_visita_str() + " para que possa validar a informação preenchida.
";
+ body += "Recordamos que dispõe de 15 dias para efectuar o seu preenchimento e passar o respectivo processo para a fase seguinte, ou seja, verificação por parte da SIPRP.
";
+ body += "Caso tenha alguma dúvida ou necessite de qualquer esclarecimento, contacte, por favor, a área técnica da SIPRP através do telefone 213 504 540.
";
+ body += "Cumprimentos,
";
+ body += "A equipa da SIPRP
";
+ return body;
+ }
+
+ }
+
+}