SMTP de Brevo: guía de configuración, ajustes y resolución de problemas
Configura bien el SMTP de Brevo: servidor, puertos 587, 465 y 2525, claves SMTP, autenticación de dominio, ejemplos con WordPress y código, límites y solución de errores.
El SMTP de Brevo saca el correo saliente de una aplicación del agente de correo local del alojamiento web y lo lleva a una infraestructura que autentica, registra e informa sobre cada mensaje. La configuración es pequeña: un nombre de host, un puerto, dos credenciales. Equivocarse también es pequeño, y los modos de fallo son silenciosos. Esta guía cubre los ajustes, el modelo de credenciales, el trabajo de DNS que hace que la entrega ocurra y los errores con los que te encontrarás si alguna pieza está mal configurada. Si todavía estás eligiendo proveedor, la guía general de servicios de email SMTP compara el mercado primero.
Qué es el SMTP de Brevo
Brevo describe el SMTP de Brevo como su servicio de relé SMTP. Tu aplicación, sitio web o servidor de correo entrega un mensaje al relé por una conexión autenticada, y Brevo asume la responsabilidad del enrutado, los reintentos, la reputación y los informes. Las estadísticas del correo retransmitido aparecen junto a las de las campañas, y un rebote duro bloquea automáticamente a ese contacto.
El relé está pensado para mensajes transaccionales: restablecimientos de contraseña, recibos, confirmaciones de pedido, notificaciones de cuenta. Si la línea entre esos y el correo de marketing todavía no está clara, qué es el email transaccional lo explica.
SMTP o la API REST
Las dos vías llegan a la misma plataforma. La división práctica:
| Usa SMTP cuando | Usa la API REST cuando |
|---|---|
| El sistema solo habla SMTP (WordPress, Postfix, un ERP, un cliente de correo) | Estás escribiendo la integración y quieres errores estructurados |
| Estás migrando una configuración SMTP existente y quieres el cambio más corto | Necesitas envío por lotes, programación o claves de idempotencia |
Un límite duro: la documentación para desarrolladores de Brevo indica que el relé SMTP no admite el envío por lotes, y remite las operaciones por lotes a los endpoints de la API.
Cómo crear tus credenciales SMTP
La autenticación SMTP de Brevo usa dos valores fáciles de confundir con credenciales que ya tienes.
Encuentra tu login SMTP
Tu login SMTP no es la dirección de email de tu cuenta de Brevo. Es un identificador aparte que aparece en el campo Login de la página Ajustes, SMTP y API, con el formato [email protected].
De ahí salen dos reglas, las dos de la documentación de resolución de problemas de Brevo. No pongas smtp-relay.brevo.com en el campo de nombre de usuario: eso es el host del relé, no tu login. Y no pongas tu login SMTP en la cabecera De, porque te autentica a ti en lugar de identificar a un remitente.
Genera una clave SMTP
La contraseña es una clave SMTP, no la contraseña de tu cuenta ni una clave de API.
- Abre el desplegable de la cuenta y selecciona Ajustes y después SMTP y API.
- En la pestaña SMTP, haz clic en Generar una nueva clave SMTP.
- Nombra la clave según la integración que la vaya a usar.
- Elige la variante. La estándar es la clave recomendada de 64 caracteres; la corta es de 15 caracteres, para clientes que no soportan contraseñas largas.
- Fija una caducidad de entre 7 días y 1 año, o elige sin caducidad.
- Haz clic en Generar y copia la clave completa de inmediato.
La clave completa se muestra una sola vez, después de lo cual la página solo enseña sus últimos dígitos. Si la pierdes, genera una nueva y actualiza tu configuración.
Ajustes de conexión
Los valores que hay que introducir en cualquier cliente o biblioteca:
| Ajuste | Valor |
|---|---|
| Servidor SMTP | smtp-relay.brevo.com |
| Puerto | 587, 465 o 2525 |
| Cifrado | Déjalo vacío salvo que uses el puerto 465, que requiere SSL o TLS |
| Nombre de usuario | Tu login SMTP, formato [email protected] |
| Contraseña | Tu clave SMTP |
Cómo elegir el puerto
| Puerto | Cifrado | Cuándo usarlo |
|---|---|---|
| 587 | TLS, negociado con STARTTLS | El de referencia. Empieza aquí. |
| 465 | SSL o TLS, implícito desde la conexión | Cuando tu cliente requiere una conexión cifrada de forma implícita |
| 2525 | TLS, negociado con STARTTLS | Cuando tu proveedor de alojamiento bloquea el 587 |
Brevo recomienda el 587 por defecto. El puerto 465 se designó para SMTP sobre SSL y después quedó obsoleto, pero sigue teniendo un soporte amplio y es el adecuado cuando necesitas la conexión cifrada antes del primer comando. El puerto 2525 no es un puerto registrado por el IETF ni por la IANA, pero la mayoría de los ISP y proveedores de nube lo permiten, lo que lo convierte en la salida de emergencia cuando el 587 está bloqueado.
El campo de cifrado despista a mucha gente. Brevo te dice que lo dejes vacío salvo que estés en el 465. Eso no significa que la conexión vaya sin cifrar: en el 587 y el 2525 el servidor anuncia STARTTLS y cualquier cliente competente actualiza la conexión antes de autenticarse. Significa que no debes seleccionar “SSL” mientras te conectas al 587, porque un desajuste entre puerto y cifrado hace fallar la autenticación incluso con credenciales correctas.
Prueba la conexión antes de escribir código
Confirma que el relé responde y que TLS negocia antes de depurar el código de la aplicación.
openssl s_client -starttls smtp -crlf -connect smtp-relay.brevo.com:587Un handshake correcto termina con la lista de capacidades 250 del servidor, que debería incluir STARTTLS y una línea AUTH con PLAIN y LOGIN. Si no hay banner alguno, es un problema de red, no de credenciales.
Cómo autenticar tu dominio de envío
Este es el paso que la gente se salta, y el que decide si algo llega. Desde el 1 de febrero de 2024 la autenticación de dominio es obligatoria según los requisitos para remitentes de Gmail y Yahoo, y Brevo señala que Microsoft anunció estándares similares el 5 de mayo de 2025. El correo sin autenticar se filtra o se rechaza sea cual sea el relé que lo envió.
Los registros que pide Brevo
| Registro | Tipo | Para qué sirve |
|---|---|---|
| Código de Brevo | TXT | Verifica que eres el propietario del dominio de envío y lo controlas |
| DKIM | 1 TXT o 2 CNAME | Firma los mensajes para que quien los recibe pueda detectar modificaciones en tránsito |
| DMARC | TXT | Indica a los servidores receptores cómo tratar el correo sospechoso, con una política de none, quarantine o reject |
Brevo puede añadirlos automáticamente si inicias sesión en tu proveedor de dominio desde dentro de Brevo, o puedes copiar los valores a tu zona DNS a mano. La forma de DKIM que te toque depende de la cuenta: dos registros CNAME usan una clave de 2048 bits por defecto, y la forma con un único TXT una clave de 1024 bits.
Por qué no hay registro SPF
Las preguntas frecuentes de Brevo son explícitas: los registros SPF y MX no son necesarios para autenticar un dominio, y solo se facilitan al configurar una IP dedicada. En infraestructura compartida Brevo controla la ruta de retorno, así que DKIM más la comprobación de propiedad sostienen la autenticación. Si vienes de un proveedor que exigía un include de SPF, no te inventes uno; un include innecesario solo arriesga un problema de límite de consultas.
DMARC sí importa, y Brevo publica un registro de partida que funciona:
v=DMARC1; p=none; rua=mailto:[email protected]Empieza con p=none para recibir informes agregados sin arriesgar la entrega, y después endurece a quarantine y reject cuando todas las fuentes legítimas estén alineadas. Nuestra guía de entregabilidad de email cubre esa progresión.
Verifica el remitente
Cada dirección De debe ser un remitente verificado o estar en un dominio autenticado. Un remitente nuevo se verifica con un código de 6 dígitos enviado a esa dirección, pero los remitentes de un dominio autenticado se saltan ese paso, que es justo por lo que autenticas primero. Los dominios de correo gratuito no se pueden autenticar, así que una dirección De en gmail.com o outlook.com será rechazada o filtrada.
Guías de integración
WordPress
WordPress entrega el correo saliente a wp_mail, que llama a lo que proporcione el alojamiento. Enrutarlo por Brevo requiere un plugin.
- En la barra lateral de administración ve a Plugins y después a Añadir nuevo plugin.
- Busca Brevo, instala “Newsletter, SMTP, Email marketing and Subscribe forms by Brevo” y actívalo.
- Ve a Brevo, después a Inicio, e introduce tu clave de API v3 de Brevo en el campo de activación. Este paso usa una clave de API porque el plugin también sincroniza contactos. Haz clic en Iniciar sesión.
- En Emails transaccionales, selecciona Sí.
- Elige un remitente existente o crea uno. Todos los emails de WordPress usan ese nombre y esa dirección de remitente.
- Introduce una dirección y haz clic en Enviar email para lanzar una prueba.
Hay dos errores habituales. Un mensaje que dice que los emails transaccionales no están activados porque tu cuenta SMTP de Brevo no ha sido activada significa que el soporte de Brevo tiene que encender la plataforma. Un mensaje que dice que no se puede usar SMTP porque otro proceso ha declarado wp_mail significa que hay un plugin SMTP en competencia; desactiva los demás de uno en uno.
Una aplicación de servidor
El propio ejemplo de Node.js de Brevo usa nodemailer y los ajustes de arriba:
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({ host: "smtp-relay.brevo.com", port: 587, secure: false, // true para 465, false para el resto de puertos auth: { pass: process.env.BREVO_SMTP_KEY, },});
async function sendOrderConfirmation() { const info = await transporter.sendMail({ subject: "Tu pedido está confirmado", text: "El pedido 10482 está confirmado y se envía en dos días hábiles.", }); console.log("Mensaje enviado:", info.messageId);}
sendOrderConfirmation().catch(console.error);Fíjate en secure: false en el puerto 587. Esa bandera controla el TLS implícito, no si la conexión va cifrada; nodemailer sigue emitiendo STARTTLS. Ponlo a true solo para el 465.
El equivalente en Python con la biblioteca estándar:
import smtplib, sslfrom email.message import EmailMessage
msg = EmailMessage()msg["Subject"] = "Tu pedido está confirmado"msg.set_content("El pedido 10482 está confirmado y se envía en dos días hábiles.")
with smtplib.SMTP("smtp-relay.brevo.com", 587, timeout=20) as server: server.starttls(context=ssl.create_default_context()) server.login(BREVO_SMTP_LOGIN, BREVO_SMTP_KEY) server.send_message(msg)Los dos leen las credenciales del entorno, que es de lo que va la siguiente sección.
Seguridad y rotación de claves
Brevo trata las claves SMTP como contraseñas. Vale la pena seguir las reglas operativas al pie de la letra.
- Una clave por integración. Nombra cada clave según el sistema que la usa, para que una filtración o una baja revoquen exactamente una cosa.
- Nunca subas una clave al repositorio. Variables de entorno, un gestor de secretos o el almacén de configuración de tu plataforma. Ni control de versiones, ni un archivo
.envversionado, ni una captura de pantalla. - Rota sin caídas. Genera la sustituta, despliega, confirma que se envía y después borra la clave antigua. El borrado es irreversible, y borrar una clave todavía en uso detiene el envío transaccional de inmediato.
- Desactiva en lugar de borrar para pausar una integración. Las claves se pueden reactivar más tarde.
- Cuenta con la caducidad. Las claves pueden llevar una caducidad de entre 7 días y 1 año, y Brevo caduca las claves inactivas a los 90 días.
Para una frontera más dura, Brevo puede bloquear las solicitudes procedentes de direcciones IP desconocidas. La lista autorizada se comparte entre las claves de API y las SMTP, así que todo lo que permitas se aplica a las dos. Ten cuidado con las cargas de trabajo en contenedores o en la nube: la dirección de salida puede ser una pasarela NAT en lugar de la IP de la instancia que esperas, y equivocarse produce un rechazo 525 5.7.1 Unauthorized IP address.
Los equipos que usan Brevo junto a una tienda, un CRM y un servicio de atención acaban gestionando varias claves, remitentes y dominios a la vez. Tajo mantiene esa configuración en un solo sitio en lugar de en cuatro paneles de control.
Límites de envío y limitación de tasa
El envío por SMTP consume los créditos de email de tu plan. En el plan gratuito eso significa 300 envíos al día; el límite se reinicia a diario y los envíos no usados no se acumulan. Cuando lo alcanzas, Brevo retiene hasta 1.000 emails más en una cola de reintentos y no entrega nada más allá de esa cola. Los planes de pago eliminan el tope diario, y la guía de precios de Brevo desglosa los niveles.
Cuando los créditos se agotan del todo, los mensajes enviados por SMTP se pausan y se encolan en lugar de descartarse. El acumulado está en Transaccional, después Tiempo real, después Uso y plan, en la sección de cola de email.
Brevo publica límites de tasa duros para la API REST y no para el relé. En el nivel general, POST /v3/smtp/email permite 1.000 solicitudes por segundo, y superar un límite devuelve 429 Too Many Requests. La vía de la API también devuelve cabeceras de límite de tasa con las que marcar el ritmo, cosa que el relé no hace.
Cómo monitorizar rebotes y quejas
El correo retransmitido se ve en Transaccional, en las páginas de estadísticas y registros. Los eventos que exigen una reacción:
- Rebote duro. La dirección no es válida y Brevo bloquea el contacto automáticamente.
- Bloqueado. La persona destinataria se quejó, se dio de baja, rebotó en duro o fue bloqueada a mano con anterioridad.
- Aplazado y rebote blando. El proveedor aceptó la conexión pero retrasó o rechazó el mensaje. Los aplazamientos recurrentes contra un mismo proveedor señalan un problema de reputación, no de código.
Consultar los registros a mano no escala. Brevo admite webhooks transaccionales que empujan eventos de entrega, rebote, apertura y queja a tu endpoint en tiempo real, que es la forma de mantener al día tus propios datos de supresión.
La cifra que hay que vigilar es la tasa de quejas por spam. Gmail, Yahoo y Microsoft exigen que los remitentes se mantengan por debajo del 0,3 %, y Brevo recomienda monitorizarla con Gmail Postmaster Tools. Recuperarse de una infracción lleva mucho más tiempo que evitarla.
Resolución de problemas
535 5.7.8 Authentication failed
No se pudo verificar el nombre de usuario o la contraseña. Por probabilidad:
- Se usó la dirección de email de la cuenta en lugar del login SMTP con el formato
[email protected]. - Se pegó
smtp-relay.brevo.comen el campo de nombre de usuario. Brevo lo señala como una de las causas más frecuentes. - Se usó una clave de API en lugar de una clave SMTP.
- La clave arrastra un espacio o un salto de línea del copiar y pegar.
- El ajuste de cifrado no coincide con el puerto.
- La clave quedó invalidada tras una alerta de seguridad, en cuyo caso genera una nueva.
525 5.7.1 Unauthorized IP address
El bloqueo por IP está activo y la dirección que se conecta no está autorizada. Añádela, y comprueba antes tu dirección de salida real si la aplicación corre detrás de NAT o en una plataforma de contenedores.
Sin respuesta y sin banner
Si la conexión TCP se abre pero el servidor nunca envía su saludo 220, la autenticación no puede empezar y el fallo está en tu lado de la red. Los cortafuegos corporativos a veces permiten la conexión y después descartan el tráfico SMTP en silencio. AWS, Azure y Google Cloud restringen el SMTP saliente por defecto en las cuentas nuevas. Pide que se levante la restricción, o cambia al puerto 2525.
450, plataforma no activada
El error dice que tu cuenta SMTP todavía no está activada o que tu plataforma de envío está deshabilitada. En una cuenta nueva, el envío transaccional requiere un paso de activación aparte por parte del soporte de Brevo. En una cuenta consolidada suele significar suspensión, bien porque un formulario sin protección recibió registros de bots, bien porque la cuenta mostró señales de estar comprometida.
Remitente rechazado
Comprueba tres cosas: que el dominio esté autenticado, que el remitente esté verificado y que la cabecera De no sea tu login SMTP.
El correo se acepta pero cae en spam
Trabaja en este orden. Confirma que el dominio de envío está autenticado y que DKIM está firmando. Confirma que el dominio del De es el tuyo y no un proveedor de correo gratuito. Comprueba tu tasa de quejas en Postmaster Tools frente al umbral del 0,3 %. Mira el contenido solo cuando esas comprobaciones estén limpias, porque casi nunca es la primera causa.
IP dedicadas
Una IP dedicada solo ayuda con volumen alto y constante. Hay que calentarla antes de enviar de forma significativa por ella, y necesita un subdominio de envío que aparezca como dominio mailed by y de ruta de retorno en tus cabeceras. Esta es la única configuración en la que Brevo proporciona registros SPF y MX, junto con registros A, CNAME, DKIM y DMARC para ese subdominio.
Hay dos detalles que pillan a la gente. Una IP dedicada configurada solo para email de marketing encola tus mensajes transaccionales en lugar de enviarlos, así que cámbiala o compra una segunda IP. Y separar el enrutado transaccional del de marketing requiere un grupo de al menos dos IP con remitentes distintos, para que una interacción floja con el correo de marketing no pueda arrastrar a los recibos y los restablecimientos de contraseña.
Cómo acertar a la primera
Autentica el dominio, crea una clave SMTP con nombre, conéctate a smtp-relay.brevo.com por el 587 y envía una prueba por la ruta de código real y no con un botón del panel de control. Casi todos los problemas posteriores se remontan a una de tres cosas.
- La credencial equivocada en el campo de usuario o de contraseña.
- Un ajuste de puerto y otro de cifrado que no concuerdan entre sí.
- Un dominio de envío que nunca se autenticó.
Acierta en eso y el relé desaparece en segundo plano, que es lo que debería hacer una infraestructura transaccional.