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; + } + + } + +}