1. Visión General
El componente Email (email) envía correos vía SMTP desde el flujo. Soporta correos en texto plano o HTML, con destinatarios en copia (CC) y copia oculta (BCC).
Úsalo cuando el flujo necesita notificar a alguien por correo (confirmación de pedido, alerta, informe, etc.). Solo funciona como acción de salida — no como disparador de entrada (no recibe correos).
2. Prerrequisitos
- Un servidor SMTP accesible (host y puerto) para el envío.
- Usuario y contraseña de autenticación SMTP, si el servidor lo exige.
3. Autenticación y Conexión
| Campo | Obligatorio | Tipo | Descripción | Ejemplo |
|---|---|---|---|---|
host | Sí, en la práctica | Texto | Dirección del servidor SMTP. | "smtp.ejemplo.com" |
port | No | Texto | Puerto del servidor SMTP. Valor por defecto: "587". | "587" |
protocol | No | Texto | Protocolo de envío. Valor por defecto: "SMTP". | "SMTP" |
username | No | Texto | Usuario para la autenticación SMTP. | "notificaciones@ejemplo.com" |
password | No | Texto | Contraseña del usuario SMTP. | "micontrasena" |
useStartTls | No | Texto ("true"/"false") | Habilita STARTTLS en la conexión. Valor por defecto: "true". | "true" |
La autenticación SMTP se usa automáticamente siempre que username y password estén completados.
4. Configuración / Operaciones Soportadas
El componente tiene una única operación: enviar un correo.
| Campo | Obligatorio | Tipo | Descripción | Ejemplo |
|---|---|---|---|---|
from | Sí | Texto | Remitente del correo. | "notificaciones@ejemplo.com" |
to | Sí | Texto | Destinatario(s) del correo. | "cliente@ejemplo.com" |
subject | Sí | Texto | Asunto del correo. | "Tu pedido fue confirmado" |
isTextMessage | No | Texto ("true"/"false") | Si es true, el cuerpo se envía como texto plano (usando textMessage). Si es false (por defecto), como HTML (usando htmlMessage). | "true" |
textMessage | Sí, si isTextMessage es true | Texto | Cuerpo del correo en texto plano. | "Tu pedido 981 fue confirmado." |
htmlMessage | No | Texto (HTML) | Cuerpo del correo en HTML. | "<p>Tu pedido fue confirmado.</p>" |
cc | No | Texto | Destinatarios en copia. | "gerente@ejemplo.com" |
bcc | No | Texto | Destinatarios en copia oculta. | "auditoria@ejemplo.com" |
5. Ejemplos Prácticos
Ejemplo simple: enviar un correo de confirmación de pedido en texto plano.
Entrada:
{
"pedidoId": 981,
"cliente": { "email": "maria@ejemplo.com" }
}
Configuración del componente:
{
"componentName": "email",
"configurations": {
"from": "notificaciones@ejemplo.com",
"to": "{$.body.cliente.email}",
"subject": "Pedido confirmado",
"isTextMessage": "true",
"textMessage": "Tu pedido {$.body.pedidoId} fue confirmado."
}
}
Respuesta:
{
"success": true,
"status": "Message sent",
"from": "notificaciones@ejemplo.com",
"to": ["maria@ejemplo.com"],
"subject": "Pedido confirmado",
"messageType": "text/plain"
}
Ejemplo avanzado: enviar un correo en HTML, con copia al gerente y copia oculta a auditoría.
Configuración del componente:
{
"componentName": "email",
"configurations": {
"from": "notificaciones@ejemplo.com",
"to": "{$.body.cliente.email}",
"cc": "gerente@ejemplo.com",
"bcc": "auditoria@ejemplo.com",
"subject": "Pedido confirmado",
"htmlMessage": "<h1>Pedido confirmado</h1><p>Tu pedido {$.body.pedidoId} fue confirmado.</p>"
}
}
Respuesta:
{
"success": true,
"status": "Message sent",
"from": "notificaciones@ejemplo.com",
"to": ["maria@ejemplo.com"],
"subject": "Pedido confirmado",
"messageType": "text/html"
}
6. Errores Comunes y Troubleshooting
| Error / Síntoma | Causa probable | Cómo resolverlo |
|---|---|---|
| "Connector IN Not supported for email" | Intento de usar Email como disparador de entrada. | Usar el componente solo como acción de salida. |
| "From parameter is empty." | El campo from no fue completado. | Completar from con el remitente. |
| "To parameter is empty." | El campo to no fue completado. | Completar to con el/los destinatario(s). |
| "Subject parameter is empty." | El campo subject no fue completado. | Completar subject. |
| "Text Message parameter is empty." | isTextMessage está activado, pero textMessage no fue completado. | Completar textMessage o desactivar isTextMessage para usar htmlMessage. |
| El correo no llega al destinatario | Configuración incorrecta de host/port/autenticación SMTP, o bloqueo del servidor de destino. | Confirmar las credenciales y la configuración del servidor SMTP usado. |