SMTP Send
SMTP Send
Sección titulada «SMTP Send»Tipo: smtp-send · Paquete: SMTP / IMAP Email Activities v1.0.5
Envía un correo a través de un servidor SMTP, sin necesidad de Outlook instalado. Soporta varios destinatarios, copia (CC) y copia oculta (BCC), dirección de respuesta, cuerpo en texto o HTML, y adjuntos. Es la actividad para enviar notificaciones, reportes y confirmaciones desde un robot, también en ejecución desatendida.
Cómo funciona
Sección titulada «Cómo funciona»- Arma el mensaje: remitente (
from, o elusernamesi no lo das), destinatarios, asunto, cuerpo (texto o HTML segúnisHtml) y adjuntos. Si falta algún adjunto, falla antes de conectarse, así que no sale un correo incompleto. - Se conecta a
host:portcon el cifrado desecurity(por defectoautoen el puerto587: STARTTLS si el servidor lo ofrece), inicia sesión conusernameypassword, envía y se desconecta.
Los destinatarios (to, cc, bcc) pueden ser un texto con direcciones separadas por coma ("ana@empresa.com, luis@empresa.com") o una lista. Cada dirección puede llevar nombre visible: "Ana Pérez <ana@empresa.com>". Los datos de conexión son los del servidor de envío.
Cada ejecución envía un correo nuevo: si la pones dentro de un Retry, un reintento tras un envío que sí llegó produce un duplicado.
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
host | string | — | Servidor SMTP (ej. smtp.gmail.com). |
username | string | — | Usuario con el que se inicia sesión (normalmente el correo completo). |
password | credential | — | Contraseña o App Password. Usa credential("nombre")["password"]. |
to | string | List | — | Destinatario(s): texto con direcciones separadas por coma, o lista de direcciones. Debe haber al menos una. |
subject | string | — | Asunto. |
body | string | — | Cuerpo del correo (texto plano, o HTML con isHtml = true). |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
port | int | 587 | Puerto SMTP. Con security = ssl suele ser 465. |
from | string | username | Dirección del remitente; admite "Nombre <correo>". Muchos servidores exigen que sea la cuenta con la que inicias sesión o un alias autorizado. |
replyTo | string | — | Dirección a la que llegan las respuestas (Reply-To). |
isHtml | bool | false | El body es HTML. |
cc | string | List | — | Copia: texto separado por comas o lista. |
bcc | string | List | — | Copia oculta: texto separado por comas o lista. |
attachments | string | List | — | Un texto con una ruta de archivo, o una lista de rutas. Todos los archivos deben existir. |
security | string | "auto" | Cifrado: auto, none, ssl o starttls. Ver Cifrado y puertos. |
Esta actividad no devuelve ningún valor. El log indica a cuántos destinatarios (to + cc + bcc) se envió.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
'host' es obligatorio. (y lo mismo con username, subject, body) | Falta el parámetro o la expresión dio null. Para un cuerpo vacío usa "". |
Se necesita al menos un destinatario en 'to'. | to está vacío o la lista no tiene textos. |
No se encontró el archivo adjunto. | Una ruta de attachments no existe. Compruébala antes con File Exists; el correo no se envía. |
| Error al interpretar una dirección | Alguna dirección de from, to, cc, bcc o replyTo no es válida (por ejemplo, separadas con ; en vez de coma). |
| Error de autenticación del servidor | Usuario o contraseña incorrectos, o la cuenta exige una App Password. |
| Error de conexión o de TLS | Host o puerto equivocados, o security no corresponde al puerto (por ejemplo ssl en el 587). Usa 587 + auto/starttls o 465 + ssl. |
Ejemplo
Sección titulada «Ejemplo»Enviar una factura adjunta usando credenciales seguras, con copia al área de cartera:
SMTP Send host = "smtp.gmail.com" username = credential("correo-bot")["user"] password = credential("correo-bot")["password"] from = "Facturación <" + credential("correo-bot")["user"] + ">" to = cliente.correo cc = "cartera@empresa.com" subject = "Factura " + numeroFactura body = "<p>Adjuntamos su factura <b>" + numeroFactura + "</b>. Gracias por su compra.</p>" isHtml = true attachments = arr("C:/facturas/" + numeroFactura + ".pdf")Actividades relacionadas
Sección titulada «Actividades relacionadas»- IMAP Read — leer correos entrantes.
- Outlook Send Email — alternativa vía cliente Outlook.