package com.fp.general.mail; import javax.mail.Session; import com.fp.general.mail.dto.EnvioCorreoDTO; import com.fp.general.mail.exception.EnvioMailException; /** * Interfaz que define los métodos de negocio para el envío de correo, adicional soporta CDI para realizar la implementacion que mejor convenga * * @author dcruz * */ public interface EnvioMail { /** * Envio de correo en base a los parametros enviados * * @param correo {@link EnvioCorreoDTO} * @throws EnvioMailException */ public void envioMail(EnvioCorreoDTO correo) throws EnvioMailException; /** * Devuelve la sesión obtenida(Está definida a criterio personal) * @return la sesión para envio de correo {@link Session} * @throws EnvioMailException */ public Session getEnvioMailSession() throws EnvioMailException; /** * Registra en logs el fallo de envio de mail * @param envioCorreo */ public void registraLogError(EnvioCorreoDTO envioCorreo); }