maia/registro/.svn/pristine/ee/ee54ac5f68c1bd7f1672391e543...

59 lines
2.4 KiB
Plaintext
Executable File

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