> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dapta-docs-es/integraciones/smtp.md).

# SMTP

#### 📧 Envía correos desde tu propio servidor SMTP — tu remitente, tu dominio, tu entregabilidad.

Es el nodo indicado cuando quieres que los correos salgan **desde tu propia dirección** y se registren en tu infraestructura saliente — en lugar de pasar por el remitente compartido de Dapta.

***

**📘 Qué aprenderás en este documento:**

* **Paso 1:** Añadir tu credencial SMTP
* **Paso 2:** Añadir el nodo SMTP a un flujo
* **Paso 3:** Configurar parámetros y ejecutar

***

#### 🔐 Paso 1: Añadir tu credencial SMTP

Las credenciales se guardan a nivel de workspace, así que una vez añadidas, todos los flujos del mismo workspace pueden reutilizarlas.

Abrí el menú de usuario abajo a la izquierda (tu avatar / plan del workspace) y hacé clic en **Credentials**. Vas a aterrizar en [`/settings/oauth`](https://app.dapta.ai/settings/oauth).

<figure><img src="/files/dm6eohNsETrscbGbhmmE" alt=""><figcaption><p>Encuentra el bloque SMTP Server en la lista de credenciales.</p></figcaption></figure>

Haz clic en `+` sobre el bloque **SMTP Server**. Se abre la ventana **Connect your email**.

<figure><img src="/files/sIsWGGNWiZTl4cxqshUC" alt=""><figcaption><p>Connect your email — formulario vacío.</p></figcaption></figure>

Rellena el formulario en tres secciones cortas:

<figure><img src="/files/yid5HOrDE9LM7k3Z88hI" alt=""><figcaption><p>IDENTITY / SERVER / ACCESS — los únicos campos que la mayoría de usuarios necesita tocar.</p></figcaption></figure>

Baja para revisar **SECURITY** y **ADVANCED**. Los valores por defecto son correctos para la gran mayoría de proveedores — solo necesitas cambiarlos si tu equipo de IT te dio instrucciones específicas.

<figure><img src="/files/Y3kBDNcPx9I8ifx7HdCO" alt=""><figcaption><p>Por defecto: TLS 1.2 + STARTTLS en puerto 587 — déjalo así.</p></figcaption></figure>

Pulsa **Save credential**. La nueva credencial aparece bajo el bloque SMTP Server.

**Referencia de campos**

| Sección  | Campo                                   | Obligatorio | Notas                                                                                        |
| -------- | --------------------------------------- | :---------: | -------------------------------------------------------------------------------------------- |
| Identity | Name to identify this connection        |      ✓      | Etiqueta interna, p. ej. *Marketing — SendGrid*.                                             |
| Server   | Server address                          |      ✓      | Host del servidor SMTP.                                                                      |
| Server   | Port                                    |      ✓      | `587` (STARTTLS) o `465` (TLS). El puerto 25 está bloqueado.                                 |
| Access   | Username                                |      ✓      | El mismo usuario con el que lees el correo. En SendGrid el usuario es literalmente `apikey`. |
| Access   | Password                                |      ✓      | Para Gmail o Microsoft 365 usa una **App Password**, no la contraseña de tu cuenta.          |
| Security | Encrypted from the start (port 465)     |      –      | Marca esta opción cuando el proveedor usa TLS implícito.                                     |
| Security | Require encrypted connection (port 587) |      –      | Por defecto. Exige negociación STARTTLS.                                                     |
| Security | Send without encryption                 |      –      | Desaconsejado. Solo relays corporativos antiguos.                                            |
| Security | Accept unverified certificates          |      –      | Certificados autofirmados o con hostname distinto. Desactivado por defecto.                  |
| Security | Minimum security level                  |      –      | TLS 1.2 (por defecto) o TLS 1.3.                                                             |
| Advanced | Client identifier                       |      –      | EHLO/HELO personalizado. Déjalo en blanco salvo que IT te lo pida.                           |

**Proveedores comunes — ajustes rápidos**

| Proveedor                | Servidor                            | Puerto | Cifrado  | Notas de autenticación                                                                                                                        |
| ------------------------ | ----------------------------------- | :----: | -------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Gmail / Google Workspace | `smtp.gmail.com`                    |   587  | STARTTLS | Usuario = tu dirección. Contraseña = [App Password](https://myaccount.google.com/apppasswords). Requiere 2FA para generarla.                  |
| Microsoft 365 / Outlook  | `smtp.office365.com`                |   587  | STARTTLS | App Password o buzón con SMTP-AUTH activado. Microsoft está deprecando basic auth — los tenants modernos necesitarán OAuth (próxima entrega). |
| SendGrid                 | `smtp.sendgrid.net`                 |   587  | STARTTLS | Usuario = `apikey`. Contraseña = tu API key de SendGrid.                                                                                      |
| Mailgun                  | `smtp.mailgun.org`                  |   587  | STARTTLS | Credenciales SMTP por dominio desde el panel de Mailgun.                                                                                      |
| AWS SES                  | `email-smtp.<region>.amazonaws.com` |   587  | STARTTLS | Credenciales SMTP generadas en la consola SES (no son las IAM).                                                                               |

***

#### 🪄 Paso 2: Añadir el nodo SMTP a un flujo

Abre **Flow Studio** y crea un flujo nuevo (o abre uno existente). Pulsa `⌘K` / `Ctrl+K` o haz clic en **Browse Nodes** y escribe **smtp**.

<figure><img src="/files/CT22gAPDx6v63eNpk6YU" alt=""><figcaption><p>Busca "smtp" en el selector de nodos para encontrar "Send SMTP Email".</p></figcaption></figure>

Selecciona **Send SMTP Email**. El nodo aparece en el lienzo.

En el panel derecho:

* Elige la credencial recién creada en el desplegable **Credential**.
* Si olvidaste crearla, selecciona **+ Add new credential** desde el desplegable — la ventana se abre en línea y la credencial queda autoseleccionada al guardar.
* Rellena el resto de parámetros (ver [referencia](#referencia-de-parámetros) abajo).

Pulsa **Save**. Ejecuta el flujo para enviar un correo de prueba.

{% hint style="info" %}
**Variables.** Cualquier campo de texto del nodo acepta referencias `{{trigger.body.campo}}` y otras variables de nodos anteriores — útil para personalizar el asunto o el cuerpo.
{% endhint %}

***

#### 📋 Referencia de parámetros

| Parámetro          | Obligatorio | Tipo                      | Notas                                                                                                 |
| ------------------ | :---------: | ------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Credential**     |      ✓      | desplegable               | Credencial SMTP a utilizar. A nivel de workspace.                                                     |
| **To**             |      ✓      | texto                     | Uno o más destinatarios separados por coma. Admite `Nombre <addr@example.com>`.                       |
| **From**           |      –      | texto                     | Sobrescribe el remitente. Debe ser una dirección permitida por el servidor SMTP.                      |
| **CC**             |      –      | texto                     | Misma sintaxis que To.                                                                                |
| **BCC**            |      –      | texto                     | Misma sintaxis que To. Oculto en las cabeceras del correo entregado.                                  |
| **Reply-To**       |      –      | texto                     | Una sola dirección.                                                                                   |
| **Subject**        |      ✓      | texto                     | Límite RFC: 998 caracteres.                                                                           |
| **Body format**    |      ✓      | `text` / `html`           | Define qué campo de cuerpo se envía.                                                                  |
| **Body**           | condicional | texto                     | Se usa cuando *Body format = text*. También se usa como fallback HTML si *html\_body* está vacío.     |
| **HTML body**      | condicional | texto                     | Se usa cuando *Body format = html*.                                                                   |
| **Priority**       |      –      | `low` / `normal` / `high` | Establece el encabezado `X-Priority`.                                                                 |
| **Custom headers** |      –      | lista clave/valor         | Hasta 50 entradas. Los saltos de línea y los encabezados reservados se rechazan (ver abajo).          |
| **Attachments**    |      –      | URL / Base64 / Buffer     | Las URL se descargan con DNS pinning y política de redirección solo-2xx.                              |
| **On error**       |      –      | `stop` / `continue`       | El valor por defecto en nodos nuevos es **stop** — fallar rápido en vez de tragarse errores de envío. |

**Encabezados reservados — no permitidos**

Los siguientes nombres de encabezado están bloqueados porque permitirían a un flujo malicioso sobrescribir campos críticos de seguridad o romper el sobre del correo: `from, sender, to, cc, bcc, reply-to, return-path, message-id, in-reply-to, references, date, content-type, content-transfer-encoding, mime-version, dkim-signature, received, authentication-results, x-original-to, delivered-to, __proto__, constructor, prototype` (sin distinguir mayúsculas). Usa los parámetros dedicados para From / To / Reply-To.

***

#### 💡 Casos de uso

* **Correos de bienvenida** después de crear un contacto en el CRM.
* **Confirmación de leads** después de que un voice agent califique a un prospecto.
* **Resumen diario** disparado por un trigger Cron que resume la actividad del día anterior.
* **Alertas internas** a tu equipo de operaciones cuando un flujo cae en una rama de fallback.
* **Notificaciones al cliente** que necesitan salir desde tu propio dominio por entregabilidad y confianza de marca.

***

#### 🛠 Resolución de problemas

| Síntoma                                         | Causa probable                                                                                   | Solución                                                                                                                 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `EAUTH` / fallo de autenticación                | Contraseña incorrecta, o se está usando la contraseña normal donde se requiere una App Password. | Genera una App Password en tu cuenta de Google/Microsoft y pégala en la credencial.                                      |
| `ECONNECTION` / `ETIMEDOUT`                     | Host o puerto incorrectos, firewall bloqueando SMTP saliente.                                    | Verifica host y puerto en la tabla de proveedores. Confirma que el puerto 587/465 está abierto saliente desde el runner. |
| `Self-signed certificate` / `Hostname mismatch` | El certificado del servidor no es de confianza por defecto.                                      | Reemite el certificado con una CA válida, o marca *Accept unverified certificates* (compromiso de seguridad).            |
| `Port 25 is not allowed`                        | La credencial usa el puerto 25.                                                                  | Cambia a 587 o 465. El puerto 25 está bloqueado al cargar la credencial.                                                 |
| `Header value contains forbidden characters`    | Un `\r` o `\n` se coló en un encabezado / asunto / dirección.                                    | Elimina los saltos de línea de la variable antes de pasarla al nodo.                                                     |
| `Reserved header is not allowed`                | Añadiste un encabezado personalizado que está en la lista de denegación.                         | Usa el parámetro dedicado (p. ej. configura *From* en lugar de un encabezado `From:`).                                   |
| El correo llega a spam                          | Falta SPF / DKIM / DMARC en tu dominio.                                                          | Configura los registros DNS en tu registrador. El nodo no firma nada en tu nombre.                                       |
| El primer envío tarda unos segundos             | Pool de conexiones en frío.                                                                      | Esperado. Los envíos siguientes dentro del mismo workspace reutilizan la conexión.                                       |

***

#### 🔒 Seguridad y límites

* Las credenciales están **cifradas en reposo** con AES-256.
* Las contraseñas **nunca aparecen** en logs, errores, métricas ni en el historial de workflow.
* Las conexiones se **agrupan por workspace × credencial × huella de contraseña** — las credenciales no se filtran entre workspaces.
* Se exige TLS 1.2+. El puerto 25 está prohibido. El tráfico saliente solo se permite a IPs públicas (guard SSRF: RFC1918, link-local, IMDS de AWS, metadata de GCP, etc. están bloqueados).
* Las URLs de adjuntos se descargan con DNS pinning, `maxRedirects: 0` y verificación de estado solo-2xx.
* Límite de body / HTML body: **10 MB UTF-8**. Límite de asunto: **998 caracteres**. Encabezados personalizados: **máximo 50 entradas**.

***

#### ℹ️ Limitaciones conocidas

* **OAuth (XOAUTH2)** para Gmail / Microsoft 365 todavía no está soportado — usa App Passwords por ahora. El soporte de OAuth está en el roadmap.
* **El manejo de rebotes / DSN** no se expone — una respuesta 5xx se registra pero los hard bounces no notifican automáticamente al autor del flujo.
* **No hay límite de envío por workspace**. Ten presente el límite diario de tu proveedor (Gmail 500/día, SES sandbox 200/día, SendGrid varía).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dapta.ai/dapta-docs-es/integraciones/smtp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
