59 lines
2.4 KiB
Plaintext
Executable File
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;
|
|
}
|
|
|
|
}
|