Saltar a contenido

Documentación: Nodo Enviar Correo (Send Email via SMTP)

Descripción General

El Nodo Enviar Correo (Send Email via SMTP) es un nodo de acción que envía un correo electrónico a través de un servidor SMTP, directamente desde un flujo de automatización. Permite definir el destinatario, el remitente, el asunto, el cuerpo del mensaje y, opcionalmente, adjuntar un documento mediante una URL pública.

Es el canal ideal para notificaciones formales y trazables en entornos IoT: enviar alertas a un equipo de mantenimiento, reportes automáticos a un supervisor, o evidencias (imágenes/PDF) cuando se dispara un evento crítico en planta.


¿Cuándo usar este nodo?

Utiliza este nodo cuando necesites:

  • Notificar por correo a personal de mantenimiento, operaciones o seguridad cuando ocurre un evento (por ejemplo, una temperatura crítica en una cámara frigorífica).
  • Enviar reportes o resúmenes automáticos generados por el flujo.
  • Adjuntar evidencia (una captura obtenida con Obtener captura, un PDF de reporte, etc.) mediante su URL pública.
  • Integrar la plataforma con flujos de trabajo corporativos que dependen del correo electrónico.

Configuración del Nodo

El nodo cuenta con dos pestañas de configuración en la parte superior: Formulario (Form) y Editor de JSON (JSON Editor).

Configuración vacía del nodo Enviar correo

Vista Formulario

1. Credenciales (Credentials) *Requerido

Selecciona la credencial SMTP que se usará para autenticarse contra el servidor de correo. Las credenciales se gestionan de forma centralizada y segura (el usuario y la contraseña SMTP no se escriben en el nodo, sino que se referencian desde la credencial seleccionada).

2. Para (To)

La dirección de correo del destinatario (por ejemplo, maintenance@industrial-plant.com). Soporta expresiones de plantilla.

3. De (From)

La dirección de correo del remitente (por ejemplo, alertas@netsocs.com).

4. Asunto (Subject)

El asunto del correo. Soporta expresiones de plantilla para incluir datos dinámicos.

5. Cuerpo (Body)

El contenido del mensaje. Es un área de texto que admite expresiones de plantilla para construir mensajes dinámicos con datos del flujo.

6. Servidor SMTP (SMTP Server)

La dirección del servidor SMTP (por ejemplo, smtp.gmail.com).

7. Puerto SMTP (SMTP Port)

El puerto del servidor SMTP. Valor por defecto: 587.

8. URL de Adjunto (Attachment URL) *Opcional

URL pública de un documento PNG, JPG o PDF para adjuntar al correo. Es ideal para enviar una captura o un reporte generado en el flujo.

Formulario configurado del nodo Enviar correo


Vista Editor de JSON

En la pestaña Editor de JSON (JSON Editor) puedes visualizar y editar directamente todos los campos del correo:

Vista JSON Editor del nodo Enviar correo


Estructura JSON (Parámetros de entrada)

A continuación se muestra la estructura del JSON que se genera al configurar el nodo:

{
  "to": "maintenance@industrial-plant.com",
  "from": "alerts@netsocs.com",
  "subject": "Alert: Critical temperature in cold storage room",
  "body": "Sensor Vault recorded 12°C, exceeding the 8°C threshold. Check the refrigeration system immediately.",
  "smtpServer": "smtp.gmail.com",
  "smtpPort": "587"
}

Campos del JSON

Campo Tipo Descripción
to string Dirección de correo del destinatario.
from string Dirección de correo del remitente.
subject string Asunto del correo.
body string Cuerpo del mensaje.
smtpServer string Dirección del servidor SMTP.
smtpPort string Puerto del servidor SMTP (por defecto 587).
attachmentUrl string (Opcional) URL pública de un PNG, JPG o PDF a adjuntar.
smtpUser / smtpPassword string Referencias a la credencial SMTP seleccionada (gestionadas de forma segura, no en texto plano).

Output: Dónde viene la data del nodo

Cuando el correo se envía correctamente, el nodo finaliza marcado como exitoso (borde verde). Su efecto principal es la entrega del correo al servidor SMTP; en caso de fallo de autenticación o de conexión, el nodo reportará el error correspondiente.


Ejemplos de uso

Ejemplo 1: Alerta por correo ante temperatura crítica

Caso de uso: Cuando un sensor de una cámara frigorífica supera el umbral de temperatura, se envía un correo al equipo de mantenimiento con el detalle de la lectura.

  • To: maintenance@industrial-plant.com
  • Subject: Alert: Critical temperature in cold storage room
  • Body: Mensaje dinámico con la lectura del sensor.

JSON de configuración:

{
  "to": "maintenance@industrial-plant.com",
  "from": "alerts@netsocs.com",
  "subject": "Alert: Critical temperature in cold storage room",
  "body": "Sensor {{trigger.object_name}} recorded {{trigger.state.state_additional_properties.temperature}}°C.",
  "smtpServer": "smtp.gmail.com",
  "smtpPort": "587"
}


Ejemplo 2: Reporte con evidencia adjunta

Caso de uso: Adjuntar una captura de la cámara (obtenida con el nodo Obtener captura) al correo de alerta.

  • Attachment URL: {{get_snapshot_node.url}} (convertida a ruta pública).

Validación y errores

Condición Causa / Solución habitual
Error de autenticación La credencial SMTP es incorrecta o no tiene permisos. Verifica usuario, contraseña y que el servidor permita el envío.
No se conecta al servidor Revisa smtpServer y smtpPort. Algunos servidores usan 465 (SSL) o 25.
El adjunto no llega Asegúrate de que la attachmentUrl sea pública y accesible desde internet (convierte URLs internas de Docker a su ruta pública).

Buenas prácticas

  • Usar credenciales centralizadas: No escribas usuario/contraseña en el nodo; selecciona una credencial SMTP gestionada de forma segura.
  • Mensajes dinámicos: Aprovecha las expresiones de plantilla en el asunto y el cuerpo para incluir datos del evento (nombre del objeto, lectura, fecha).
  • Adjuntar evidencia con URLs públicas: Si adjuntas una captura, recuerda usar la ruta pública del dominio, no la interna de Docker.
  • Nombrar el nodo descriptivamente: Cambia el nombre del nodo en el lienzo (ej. "Correo a mantenimiento") para identificarlo en el flujo.