OpenSMTP Server · envío de correo masivo y transaccional

El correo de sus sistemas, con rastro de punta a punta.

OpenSMTP Server es el producto de Openb para gestionar el envío de correo masivo y transaccional desde sus sistemas. Usted encola cada mensaje por API o por SMTP, con sus propios dominios autenticados, y puede ver en qué estado quedó.

open_delivery

Ilustración esquemática de la ficha de un envío. No corresponde a un mensaje real.

Qué hace

Un solo servicio para el correo que sale de sus sistemas

Facturas, avisos, acuses, notificaciones y lotes operacionales: OpenSMTP Server los recibe, los entrega y deja registro de cada uno.

Envío desde sus sistemas

Acepta correo por una API HTTP (POST /v3/mail/send) o por SMTP en los puertos 465 y 587, con autenticación. Sirve para lotes de alto volumen y para el correo transaccional de cada día.

Sus dominios, verificados

Usted da de alta el dominio, publica SPF, DKIM y DMARC, y lo verifica. Un dominio que aún no verifica no envía ni recibe.

Cada mensaje deja registro

Usted consulta la línea de tiempo de un envío y puede recibir webhooks firmados cada vez que cambia de estado.

También rutea lo que llega

En un dominio que recibe, una regla reenvía el correo a otra casilla o llama a un webhook.

Cómo se envía

Dos caminos, un solo servicio

La API responde 202 y devuelve un identificador de mensaje, con el resultado de cada destinatario. El remitente tiene que ser un perfil From de un dominio habilitado, la clave de API debe tener el alcance mail:send y cada llamada lleva una Idempotency-Key.

Los adjuntos van en base64. reply_to, custom_args y las cabeceras permitidas (List-Unsubscribe, In-Reply-To, X-*) viajan con el mensaje.

Si su sistema ya habla SMTP, el mismo servicio acepta el envío autenticado en los puertos 465 y 587, con un tope de intentos fallidos por usuario y por IP.

  • POST /v1/address/validate revisa sintaxis, MX y supresión de una dirección, sin encolar nada.
  • GET /v1/messages/{id} devuelve la línea de tiempo y el estado agregado de un envío.
API HTTPesquema de la llamada
POST /v3/mail/send
Idempotency-Key  <identificador único>
Clave de API     alcance mail:send

from      avisos@correo.ejemplo.cl
to        persona@ejemplo.cl
subject   Su documento está disponible
html      <p>…</p>   (o texto)

202 Accepted
X-Message-Id     <id del mensaje>
por destinatario:
accepted · suppressed · dropped
SMTPsubmission
Puertos         465 · 587
Autenticación   AUTH
Protección      tope de intentos fallidos
                por usuario y por IP

Esquema ilustrativo con un dominio de ejemplo. No es una llamada ejecutable ni muestra credenciales.

Dominios y autenticación

SPF, DKIM y DMARC, antes de operar

El alta le entrega los registros que debe publicar: SPF, DKIM, DMARC y, si el dominio recibe, el MX. La verificación se hace cuando usted la pide y comprueba el contenido del DNS. Un dominio pendiente no envía ni recibe, en ningún ambiente.

  • Cada intento de salida se firma con la clave DKIM vigente del dominio. Sin una clave vigente, no se intenta la entrega.
  • Puede rotar la clave DKIM, definir perfiles From y revisar el historial de cambios.
  • Admite varios dominios. El servicio es multi-tenant y multiproducto: la consola y las claves de API aíslan cada tenant, y cada clave queda además ligada a un producto y un ambiente.
Ilustración con un dominio de ejemplo.

Cola y entrega

Si no sale a la primera, queda en cola

Todo mensaje aceptado queda guardado en la cola del servicio. OpenSMTP Server lo entrega, reintenta con espera creciente y, si se agota la ventana de reintentos, lo pasa a una cola de no entregados (DLQ). La salida se puede pausar y reanudar.

  1. aceptadoPor API o por SMTP
  2. en colaGuardado en la cola de salida
  3. intentoFirmado con DKIM
  • entregadoEl mensaje salió y queda registrado.
  • diferidoSe reintenta con espera creciente.
  • DLQVentana agotada: pasa a la cola de no entregados.
  • suprimidoRebote duro: la dirección queda suprimida.

Rebote duro, en menos de quince minutos

Ante un rebote duro, la dirección queda en supresión en el mismo paso, antes de quince minutos. Un rechazo 5xx por política no suprime la dirección.

Las quejas no se adivinan

Una queja se registra como queja. No se infiere a partir del cuerpo del mensaje.

Infraestructura propia

Es un servicio self-hosted que opera Openb, sobre Haraka, PostgreSQL y Valkey. No es un relé montado sobre un servicio de envío de terceros.

Eventos y webhooks

Entérese del estado, en su propio sistema

Usted suscribe un endpoint HTTPS y cada entrega va firmada con HMAC. Si el destino no responde bien, el servicio reintenta; lo que no se logra entregar queda en una cola de fallos.

  • Solo HTTPS hacia destinos de IP pública, sin seguir redirecciones.
  • Circuit breaker para destinos que fallan.
  • El secreto se guarda cifrado, se muestra una sola vez y rota con una ventana de solape.
  • Cada endpoint nace deshabilitado.
X-Signature-SHA256 HMAC de timestamp + "." + cuerpo

Eventos que emite hoy el producto

message.accepted
El servicio aceptó el envío.
message.delivered
Entregado.
message.relayed
El relé aceptó el mensaje. No significa que el buzón final lo recibió.
message.deferred
Solo en el primer aplazamiento.
message.bounced
Rebote.
message.complained
Queja registrada.
message.suppressed
La dirección está en supresión.
message.dropped
Descartado.
inbound.received
Correo entrante, cuando una regla lo pide. Incluye los datos de la regla y un enlace firmado al MIME, vigente 24 horas.

Recepción y ruteo

También rutea el correo que llega

En un dominio verificado que recibe, el servicio escucha en el puerto 25 y decide qué hacer con cada mensaje según sus reglas.

  • Reglas por dominio, con un patrón sobre la parte local de la dirección, prioridad y la opción de detenerse en la primera coincidencia.
  • Dos acciones: reenviar a otra casilla (el reenvío pasa por la misma cola) o llamar a un webhook inbound.received.
  • Validación estricta de casillas o modo catch-all.
  • SPF, DKIM, DMARC y ARC se evalúan por tenant en modo off, record o reject. Por defecto, record: se evalúa y se acepta.
Ilustración con reglas y dominio de ejemplo.

Consola

Una consola para operar, no para redactar correos

Desde la consola usted administra dominios, reglas, webhooks y claves de API, y revisa los logs. La consola no envía correo: el envío entra por la API o por SMTP.

Maqueta esquemática con datos de ejemplo. No es una captura de la consola.

Todo lo que hace falta para operar

Inicio con una lista de puesta en marcha; dominios (DNS, salida, recepción y auditoría); reglas; webhooks (endpoints y entregas); logs buscables; cuentas, parámetros e IPs.

Claves con alcance

Las claves de API se emiten con alcances mail:send, mail:admin y mail:read. La ficha de un envío no muestra el cuerpo, los adjuntos ni el MIME.

Roles y observabilidad

El rol de solo lectura ve registros y métricas, sin cambiar la configuración. Para su monitoreo, el servicio expone métricas (/metrics) y una comprobación de disponibilidad (/readyz).

Un producto de Openb

OpenSMTP Server lo desarrolla y opera Sistemas Openb SpA. Es el servicio de correo de la familia de productos Openb.

Ir a openb.cl