Documentación para desarrolladores
Enviar correo por SMTP
Dirige cualquier aplicación compatible con SMTP a Banger, desde Supabase Auth hasta WordPress o el sistema de correo de tu framework. Una clave de API de Banger es la contraseña; cada mensaje se entrega desde tu dominio y aparece en Registros.
Configuración
| Host | submit.bangermail.com |
|---|---|
| Puerto | 465 con TLS desde el inicio, o 587 con STARTTLS. Si tu red los bloquea, usa 2465 (TLS) o 2587 (STARTTLS); el puerto 25 también acepta STARTTLS. |
| Nombre de usuario | banger. Cualquier valor funciona: solo la clave de API identifica tu espacio de trabajo. |
| Contraseña | Una clave de API de Banger con el permiso mail:send. |
| Cifrado | TLS 1.2 o posterior. El inicio de sesión solo se ofrece tras iniciar TLS, así que una clave nunca cruza la red en texto plano. |
| Autenticación | PLAIN o LOGIN. |
Antes de empezar
- Crea una clave de API. En la aplicación de Banger, abre Configuración → Desarrolladores → Gestionar claves de API, elige Crear clave de API, selecciona
mail:sendy copia la clave: solo se muestra una vez. La página muestra esta configuración SMTP junto a tus claves. - Envía desde un canal de Producto. La dirección From debe estar en un nombre de host con un canal de Producto activo, el canal para recibos, alertas y otros correos de tu aplicación. En Dominios, elige Añadir canal, después Producto, y añade los registros DNS indicados. Un canal de Correo (los buzones de tu equipo) o de Campaña no transporta correo de aplicaciones, así que el correo de tu aplicación no puede afectar a la reputación de la bandeja de entrada de tu equipo.
Ejemplo: Supabase Auth
En tu proyecto Supabase, abre Authentication → Emails → SMTP Settings y activa SMTP personalizado:
| Correo del remitente | Una dirección en tu canal de Producto, como noreply@app.example.com |
|---|---|
| Nombre del remitente | El nombre de tu producto. Banger lo entrega tal como está escrito. |
| Host | submit.bangermail.com |
| Puerto | 465 |
| Nombre de usuario | banger |
| Contraseña | Tu clave de API |
Guarda y después envía un enlace mágico desde Authentication → Users para comprobar que llega.
Ejemplo: Node.js
import nodemailer from "nodemailer";
const transport = nodemailer.createTransport({
host: "submit.bangermail.com",
port: 465,
secure: true,
auth: { user: "banger", pass: process.env.BANGER_API_KEY },
});
await transport.sendMail({
from: "Acme <noreply@app.example.com>",
to: "person@example.com",
subject: "Your receipt",
html: "<p>Thanks for your order.</p>",
}); Para probar desde una terminal con swaks:
swaks --server submit.bangermail.com:465 --tls-on-connect \
--auth PLAIN --auth-user banger --auth-password "$BANGER_API_KEY" \
--from noreply@app.example.com --to you@example.com Qué ocurre con cada mensaje
- Banger entrega el mensaje tal como lo escribió tu aplicación, con tu nombre From, firmado con la clave DKIM de tu dominio y enviado desde el dominio de rebotes de tu canal de Producto.
- Elimina
Bcc,Return-Pathy las cabeceras propias de Banger, y añadeReply-Tocon la dirección From si no existe. - Cada destinatario se comprueba en
RCPT TO: una dirección suprimida se rechaza individualmente y se envía a las demás. - Un mensaje puede tener hasta 10 MiB y hasta 50 destinatarios.
- Una cabecera
Idempotency-Keyhace que un reintento sea el mismo envío. Sin ella, también se reconoce un reintento del mismo mensaje y destinatarios. - Cada mensaje aparece en Registros con SMTP como fuente y cuenta para tu plan como cualquier otro envío.
Respuestas y errores
Un rechazo indica su causa y lleva una referencia, (ref …), que coincide con la entrada en Registros. Los códigos que empiezan por 4 son temporales: tu aplicación puede reintentar más tarde.
| Respuesta | Significado |
|---|---|
535 5.7.8 | La contraseña no es una clave de API válida de Banger, la clave está revocada o le falta mail:send. |
421 4.7.0 | Tres accesos fallidos en una conexión: se cierra. Comprueba la clave antes de reintentar. |
454 4.7.0 | Demasiados accesos fallidos desde tu red en la última hora. Vuelve a intentarlo más tarde. |
550 5.7.1 | El nombre de host From no tiene un canal de Producto listo para enviar (la respuesta indica qué falta), un destinatario está suprimido o el envío está pausado por reputación. |
553 5.1.3 | Una dirección de destinatario no es válida. |
552 5.3.4 | El mensaje supera 10 MiB. |
554 5.6.0 | El mensaje está mal formado, por ejemplo una cabecera From o Subject repetida, o un From con más de una dirección. |
451 4.7.0 | Se agotó la cuota de envío o el límite diario del espacio de trabajo. Se renueva en el siguiente período de facturación o día, o ahora al subir de plan. |
451 4.3.0 | Banger no pudo aceptar el mensaje ahora. Reintenta. |
Seguridad
- Banger solo almacena un hash de cada clave. Revoca o rota una clave en Gestionar claves de API; los clientes SMTP que la usen serán rechazados en su próximo inicio de sesión.
- Dale a SMTP su propia clave con solo
mail:send, para que una contraseña filtrada no pueda leer tu espacio de trabajo. - Los accesos fallidos se limitan por red de cliente y por clave, y un acceso rechazado con una de tus claves se registra en Registros.
¿Prefieres HTTP? El mismo envío está disponible mediante la API de Banger.