Servicio IniEnviaMail
Resumen
INTRODUCCIÓN
El servicio IniEnviaMail permite enviar un correo electrónico basado en un contenido previamente
generado y almacenado en el repositorio de la plataforma (por ejemplo, un archivo.eml).
A diferencia de otros servicios más simples como EseEnviaMail, esta implementación no solo
realiza el envío del mensaje a los destinatarios especificados (Para, CC y CCO), sino que además
devuelve un resultado detallado del proceso de envío, indicando cuántos destinatarios fueron
exitosamente alcanzados, cuántos fallaron, y brindando información precisa sobre cada error
detectado (por ejemplo, direcciones inválidas o fallos de autenticación SMTP).
Este servicio se adapta especialmente a escenarios donde es necesario:
· Controlar y auditar el resultado del envío de correos.
· Reutilizar correos ya armados (formato.eml).
Detalle
Clase: IniEnviaMaiBean
JNDI: nodum/servicios/genericos/mail/IniEnviaMail
Tipo: Inicialización.
Módulo: Básicos
PARÁMETROS DE ENTRADA
| Posición | Parámetro | Literal | Obligatorio | Modificable | Descripción |
| 0 | IdContenido | Identificador de contenido de archivo eml |
S | S | Identificador del contenido (Content) que contiene el archivo .eml. |
| 1 | De | Dirección origen. | N | S | Dirección del remitente. Si se omite, se usa la configurada en Props. |
| 2 | Resp | Direcciones de respuesta (reply-to), separadas por coma. | N | S | Destinatarios a los que se responderá si se hace "Responder" |
| 3 | Para | Dirección de los destinatarios principales, separados por coma. | N | S | Lista de destinatarios principales (campo TO). |
| 4 | CC | Destinatarios secundarios, separados por coma. | N | S | Copia (campo CC) |
| 5 | CCO | Destinatarios ocultos, separados por coma. | N | S | Copia oculta (campo BCC). |
| 6 | PropsSQL | Consulta SQL de propiedades | N | S | SQL que retorna propiedades para la sesión SMTP. |
| 7 | Props | Propiedades adicionales | N | S | Propiedades en formato texto, tipo clave = valor;. |
FORMATO DE SALIDA
El servicio retorna un único registro con los siguientes campos, se retorna un vector de 6.
| Posición | Parámetro | Literal | Descripción |
| 0 | total_ok | Envíos exitosos | Cantidad total de destinatarios a los que se envió correctamente. |
| 1 | total_error | Envíos fallidos | Cantidad total de fallos en el envío. |
| 2 | para_error | Fallos en TO | Lista de direcciones TO que fallaron. |
| 3 | cc_error | Fallos en CC | Listo de direcciones CC que fallaron. |
| 4 | cco_error | Fallos en CCO | Lista de direcciones CCO que fallaron. |
| 5 | detalle_error | Detalle del error | Detalle del fallo (SMT, timeout, autenticación, etc.). |
Detalle Técnico
CONSIDERACIONES TÉCNICAS
El servicio interpreta direcciones ignore :; como vacías y las omite.
Si se retorna una excepción de tipo ServicioControladoException, el error se considera funcional
(por ejemplo: sin destinatarios).
Usa internamente la clase MailSender que encapsula lógica de conexión, autenticación y envío.
El archivo temporal se guarda en System.getProperty("nodum.path.tmp")
OBSERVACIONES
El servicio necesita al menos un destinatario válido (TO, CC o CCO).
Los campos de direcciones pueden aceptar múltiples emails separados por coma.
El archivo .eml es leído desde el repositorio Content.
EJEMPLO COMPLETO DE USO
@G.F1.tv_prueEnvio:nom_aux18 es un control adjunto en el cual ingresamos un archivo de tipo
eml para las pruebas.
Retorno
{ 1,0, null, null, null, null }
En el ejemplo solo estamos guardando el primer valor que es la cantidad de destinatarios a los
que se les envió el correo.
De fondo el mail se envia al/los destinatario/s.
