Comparar
Una alternativa a SendGrid para email transaccional
SpacePost es una API de email transaccional sobre Amazon SES, operada por una empresa de la UE. Si tu app envía recibos, restablecimientos de contraseña y notificaciones con SendGrid, aquí verás cómo se traslada cada parte y en qué SendGrid sigue ofreciendo más.
Esta página trata del email transaccional. SpacePost tiene audiencias y broadcasts sencillos, pero no sustituye a SendGrid Marketing Campaigns (automatizaciones, formularios de suscripción, pruebas A/B, editor visual).
Cómo se corresponden los conceptos de SendGrid
| Tema | SendGrid | SpacePost |
|---|---|---|
| API de envío | v3 Mail Send: POST /v3/mail/send con personalizations (hasta 1.000 por solicitud), responde 202 Accepted | POST /emails (un mensaje con to, cc y bcc) o POST /emails/batch (hasta 100 mensajes), responde con el id del email |
| SMTP | smtp.sendgrid.net, puertos 25, 587 o 2525 (TLS) o 465 (SSL), usuario apikey | smtp.spacepost.dev, puerto 25976 con STARTTLS, usuario spacepost, contraseña = tu clave de API |
| Plantillas | Plantillas dinámicas guardadas en SendGrid (ids que empiezan por d-), Handlebars, rellenadas con dynamic_template_data | Aún sin plantillas alojadas: genera el HTML en tu app (por ejemplo con React Email) y envía html y text |
| Supresiones | Rebotes, bloqueos, reportes de spam, emails no válidos y grupos de baja | Una lista de supresión por equipo: rebotes duros, quejas y rebotes suaves repetidos se añaden solos; añade los tuyos con POST /suppressions |
| Webhooks de eventos | Event Webhook: un array JSON de eventos (processed, delivered, deferred, bounce, dropped, open, click, spam report, unsubscribe), con variante firmada | Webhooks por tipo de evento (email.sent, delivered, delivery_delayed, bounced, complained, opened, clicked, failed, suppressed), un evento por solicitud, firmas Standard Webhooks |
| UE | API global y un host en la UE (api.eu.sendgrid.com) para subusuarios regionales de la UE | Operado por Studio 404 d.o.o., una empresa de la UE; envío en AWS eu-central-1 (Fráncfort); datos almacenados en la UE |
| Email de marketing | Marketing Campaigns: contactos, segmentos, automatizaciones, formularios de suscripción | Audiencias, contactos y broadcasts con baja en un clic; sin automatizaciones ni editor visual |
Cómo migrar
01
Clave y dominio
Crea una clave de API de SpacePost y verifica tu dominio de envío (tres CNAME de DKIM más los registros MAIL FROM). Mantén los registros DNS de SendGrid hasta el cambio.
02
Llamadas de envío
Cada personalization se convierte en una llamada POST /emails: to, cc, bcc, subject, html o text, reply_to, adjuntos en base64 y cabeceras propias se mantienen. Usa POST /emails/batch para hasta 100 mensajes a la vez.
03
O solo SMTP
Cambia el host a smtp.spacepost.dev, el puerto a 25976 con STARTTLS, el usuario a spacepost y la contraseña a tu clave de API.
04
Plantillas
Genera tus plantillas dinámicas en tu código antes de enviar. Las fuentes Handlebars se pueden reutilizar con cualquier librería de Handlebars.
05
Supresiones
Exporta de SendGrid los rebotes, bloqueos, reportes de spam y bajas, y añade cada dirección con POST /suppressions para no volver a escribirles.
06
Webhooks
Crea un webhook para los eventos que usas y relaciona los nombres de eventos de SendGrid con los nuestros. Las firmas siguen Standard Webhooks, así que las librerías compatibles con Svix las verifican.
El mismo mensaje, antes y después
// SendGrid v3 Mail Send
await fetch("https://api.sendgrid.com/v3/mail/send", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.SENDGRID_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
personalizations: [{ to: [{ email: "ada@example.com" }] }],
from: { email: "receipts@acme.com", name: "Acme" },
subject: "Your receipt",
content: [{ type: "text/html", value: html }],
}),
});// SpacePost (Resend-compatible API)
const res = await fetch("https://api.spacepost.dev/emails", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.SPACEPOST_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
from: "Acme <receipts@acme.com>",
to: ["ada@example.com"],
subject: "Your receipt",
html,
}),
});
const { id } = await res.json();En qué SendGrid ofrece más
- Plantillas dinámicas alojadas con editor de diseño, y Marketing Campaigns con automatizaciones y formularios de suscripción.
- Inbound Parse para recibir email, algo que SpacePost aún no ofrece.
- Muchos años de operación a muy gran volumen, y más formas de repartir el tráfico entre subusuarios y regiones.
Los datos de SendGrid proceden de twilio.com/docs/sendgrid (Mail Send API, integración SMTP, Event Webhook) a fecha de 29 de octubre de 2026. Pueden cambiar; avísanos en support@spacepost.dev si algo está desactualizado.
SpacePost es un producto independiente y no está afiliado a Twilio ni a SendGrid ni cuenta con su respaldo. "SendGrid" y "Twilio" son marcas de sus propietarios.
