package com.fp.general.mail.impl; import java.util.Properties; import javax.inject.Qualifier; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; import javax.mail.Session; import com.fp.general.mail.cdi.qualifier.EnvioMailStandard; import com.fp.general.mail.exception.EnvioMailException; import com.fp.general.mail.resources.MailMessages; /** * Implementa el {@link Qualifier} {@link EnvioMailStandard} con la forma de envío por default * * @author dcruz * */ @EnvioMailStandard public class EnvioMailDefaultImpl extends EnvioMailBaseImpl{ private Session envioMailSession; public EnvioMailDefaultImpl(){ log.info("Ingreso a obtener SESSION MAIL"); long tiempoInicial = System.currentTimeMillis(); Properties properties = new Properties(); properties.put("mail.smtp.localhost", "www.bupartech.com"); properties.put("mail.smtp.ehlo", false); properties.put("mail.smtp.host", MailMessages.getInstancia().getString("mensajeria.nombre.servidor.direccion")); properties.put("mail.smtp.port", MailMessages.getInstancia().getString("mensajeria.nombre.servidor.puerto")); properties.put("mail.smtp.timeout", MailMessages.getInstancia().getString("mensajeria.servidor.timeout")); if(MailMessages.getInstancia().getString("mensajeria.servidor.requiere.auth").equals("S")){ properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.socketFactory.port", MailMessages.getInstancia().getString("mensajeria.nombre.servidor.puerto")); properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); envioMailSession = Session.getInstance(properties, new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(MailMessages.getInstancia().getString("mensajeria.servidor.cuenta.admin"), MailMessages.getInstancia().getString("mensajeria.servidor.cuenta.pass")); } }); }else{ envioMailSession = Session.getDefaultInstance(properties); } long tiempoFin = System.currentTimeMillis(); log.info("Tiempo en crear el SESSION MAIL: {}ms", tiempoFin - tiempoInicial); // properties.put("mail.smtp.starttls.enable", "true"); } @Override public Session getEnvioMailSession() throws EnvioMailException { return envioMailSession; } }