API de correo
Envía desde tu código, exactamente una vez.

Una llamada envía un mensaje o un lote de cien. Cada envío tiene un id antes de salir, y un reintento repite la respuesta en lugar de enviar otra vez.

En resumen

¿Qué es una API de correo transaccional?

Es la forma en que una app envía su propio correo, como recibos, enlaces de acceso y avisos, con una petición HTTP en lugar de que alguien pulse Enviar.

100

mensajes en una llamada por lotes

365

días que un envío puede programarse con antelación

900

segundos para deshacer un envío inmediato

Cómo funciona

Un lote que nunca es todo o nada

Hasta 100 mensajes por llamada, cada uno comprobado por separado. Una dirección errónea hace fallar ese elemento y el resto sale igual.

Ahora, más tarde o con margen para deshacer

Programa hasta con un año de antelación o retén un envío inmediato hasta 15 minutos. Cancélalo o reprográmalo hasta que salga.

Un rastro para cada mensaje

Cada envío recibe un id msg_ al instante. Consulta su estado, los eventos de cada destinatario y sus aperturas y clics.

Enviar un lote

El SDK de TypeScript, o el mismo JSON por HTTP sin más.

Reintentar con la misma clave repite lo que ya salió y envía solo el resto.
import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const result = await openemail.emails.sendBatch(  [    { from: '[email protected]', to: '[email protected]', subject: 'Order AC-4192 has shipped', text: 'It is on its way.' },    { from: '[email protected]', to: '[email protected]', subject: 'Order AC-4193 has shipped', text: 'It is on its way.' },  ],  { idempotencyKey: 'shipments:2026-09-23' },) console.log(result.sent, result.failed)

Lo que obtienes

Ya en el producto

Plantillas por id

Envía una plantilla guardada y fija la versión que probaste.

En su idioma

Añade translate y cada destinatario lo lee en el suyo, o no se envía.

También con forma de Resend

Apunta el SDK de Resend a /compat/resend y conserva tu código.

Buenas prácticas

Sácale el máximo partido

  1. 01

    Deriva la clave de idempotencia

    Usa lo que motivó el envío, como un número de pedido, nunca una marca de tiempo.

  2. 02

    Lee el estado

    202 significa en cola o programado. Mira status antes de darlo por entregado.

  3. 03

    Etiqueta lo que envías

    Hasta 10 etiquetas por mensaje, devueltas en cada lectura.

En qué punto está

Conviene saber

Sin modo de prueba
Todas las claves son reales, así que cada envío se entrega de verdad.
Sin estado de rebote en el envío
Un rebote llega al hilo y al webhook email.bounced, no a GET /emails.
Los envíos del editor no aparecen
El correo enviado desde la app no aparece en GET /emails.

Preguntas

Lo que más nos preguntan

Sigue explorando

Combina bien con

Claves API

Una clave por tarea, limitada a los permisos y remitentes que necesita, con cada llamada registrada.

Webhooks

Avisa a tu endpoint cuando llega el correo, en vez de obligarte a consultar.

Plantillas

Un cuerpo escrito una vez, versionado y enviado muchas veces: desde el redactor, desde tu propio código o por un agente.

Empieza

Tu dominio,
tu correo.

Apunta un dominio a OpenEmail y lee su correo en un buzón hecho a su medida. El plan gratuito incluye un dominio.

Tu bandeja de entrada,
en tus propios términos.

Infraestructura de correo para empresas, IA, agentes y correo personal. Creada para escalar, con privacidad y control. Todo lo que el correo debería haber tenido desde el primer día.

OpenEmail

Infraestructura de correo para empresas, IA, agentes y correo personal. Creada para escalar, con privacidad y control. Todo lo que el correo debería haber tenido desde el primer día.

© 2026 OpenEmail. Todos los derechos reservados.