Comparar
Uma alternativa ao SendGrid para e‑mail transacional
O SpacePost é uma API de e‑mail transacional sobre o Amazon SES, operada por uma empresa da UE. Se o seu app envia recibos, redefinições de senha e notificações pelo SendGrid, veja aqui como cada parte é migrada e onde o SendGrid ainda oferece mais.
Esta página trata de e‑mail transacional. O SpacePost tem audiências e broadcasts simples, mas não substitui o SendGrid Marketing Campaigns (automações, formulários de inscrição, testes A/B, editor visual).
Como os conceitos do SendGrid se correspondem
| Tema | SendGrid | SpacePost |
|---|---|---|
| API de envio | v3 Mail Send: POST /v3/mail/send com personalizations (até 1.000 por requisição), responde 202 Accepted | POST /emails (uma mensagem com to, cc e bcc) ou POST /emails/batch (até 100 mensagens), responde com o id do e‑mail |
| SMTP | smtp.sendgrid.net, portas 25, 587 ou 2525 (TLS) ou 465 (SSL), usuário apikey | smtp.spacepost.dev, porta 25976 com STARTTLS, usuário spacepost, senha = sua chave de API |
| Templates | Templates dinâmicos armazenados no SendGrid (ids que começam com d-), Handlebars, preenchidos com dynamic_template_data | Ainda sem templates hospedados: gere o HTML no seu app (por exemplo com React Email) e envie html e text |
| Supressões | Bounces, bloqueios, denúncias de spam, e‑mails inválidos e grupos de descadastro | Uma lista de supressão por equipe: hard bounces, reclamações e soft bounces repetidos entram automaticamente; adicione os seus com POST /suppressions |
| Webhooks de eventos | Event Webhook: um array JSON de eventos (processed, delivered, deferred, bounce, dropped, open, click, spam report, unsubscribe), com variante assinada | Webhooks por tipo de evento (email.sent, delivered, delivery_delayed, bounced, complained, opened, clicked, failed, suppressed), um evento por requisição, assinaturas Standard Webhooks |
| UE | API global e um host na UE (api.eu.sendgrid.com) para subusuários regionais da UE | Operado pela Studio 404 d.o.o., uma empresa da UE; envio na AWS eu-central-1 (Frankfurt); dados armazenados na UE |
| E‑mail de marketing | Marketing Campaigns: contatos, segmentos, automações, formulários de inscrição | Audiências, contatos e broadcasts com descadastro em um clique; sem automações nem editor visual |
Como migrar
01
Chave e domínio
Crie uma chave de API do SpacePost e verifique seu domínio de envio (três CNAMEs de DKIM mais os registros MAIL FROM). Mantenha os registros DNS do SendGrid até a troca.
02
Chamadas de envio
Cada personalization vira uma chamada POST /emails: to, cc, bcc, subject, html ou text, reply_to, anexos em base64 e cabeçalhos personalizados são mantidos. Use POST /emails/batch para até 100 mensagens de uma vez.
03
Ou só SMTP
Troque o host para smtp.spacepost.dev, a porta para 25976 com STARTTLS, o usuário para spacepost e a senha para sua chave de API.
04
Templates
Gere seus templates dinâmicos no seu código antes de enviar. As fontes Handlebars podem ser reutilizadas com qualquer biblioteca de Handlebars.
05
Supressões
Exporte do SendGrid bounces, bloqueios, denúncias de spam e descadastros e adicione cada endereço com POST /suppressions, para nunca mais enviar para eles.
06
Webhooks
Crie um webhook para os eventos que você usa e relacione os nomes de eventos do SendGrid com os nossos. As assinaturas seguem o Standard Webhooks, então bibliotecas compatíveis com Svix as verificam.
A mesma mensagem, antes e depois
// 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();Onde o SendGrid oferece mais
- Templates dinâmicos hospedados com editor de design, e Marketing Campaigns com automações e formulários de inscrição.
- Inbound Parse para receber e‑mail, algo que o SpacePost ainda não oferece.
- Muitos anos de operação em volume muito grande, e mais formas de dividir o tráfego entre subusuários e regiões.
Os dados do SendGrid vêm de twilio.com/docs/sendgrid (Mail Send API, integração SMTP, Event Webhook) em 29 de outubro de 2026. Eles podem mudar; avise-nos em support@spacepost.dev se algo estiver desatualizado.
O SpacePost é um produto independente e não é afiliado nem endossado pela Twilio ou pelo SendGrid. "SendGrid" e "Twilio" são marcas de seus proprietários.
