Resend ou Postmark: qual é melhor para desenvolver e quanto custa cada um?
Por Mara Levin · Atualizado em 7 de outubro de 2026 · Preços e documentação conferidos nesse dia
Os dois são serviços de e-mail transacional pensados para desenvolvedores, com APIs REST enxutas. O Resend pende para templates em React, webhooks assinados e envios idempotentes. O Postmark pende para a separação de streams, um histórico de mensagens mais longo e uma escada de planos que começa em 10.000 e-mails.
A resposta curta
Escolha o Resend se a sua stack é TypeScript ou React, se você quer chaves de idempotência e webhooks assinados sem trabalho extra e se o seu volume fica entre 3.000 e 100.000 e-mails, faixa em que os planos de US$ 0, US$ 20 e US$ 90 são baratos. Escolha o Postmark se você valoriza streams de mensagens explícitos, 45 dias de histórico por padrão e processamento de e-mails recebidos nos planos mais altos, e aceita proteger os webhooks com Basic Auth e lista de IPs. Com 50.000 e-mails, o Pro do Resend custa US$ 20 e o Basic do Postmark, US$ 55; já com 10.000 e-mails a conta se inverte a favor do Postmark.
Quanto você paga em quatro volumes
| E-mails por mês | Resend | Postmark |
|---|---|---|
| 3.000 | Free: US$ 0 (3.000 e-mails, 100 por dia) | O Free cobre 100 e-mails por mês; o menor plano pago é o Basic, US$ 15 para 10.000 |
| 10.000 | Pro: US$ 20 (o Free para em 3.000) | Basic: US$ 15 |
| 50.000 | Pro: US$ 20 | Basic US$ 55, Pro US$ 60,50, Platform US$ 66 (leitura do controle deslizante) |
| 100.000 a 125.000 | Pro US$ 35 e Scale US$ 90 em 100.000 (leitura do controle deslizante); sem parada lida em 125.000, e o Scale marca US$ 160 em 200.000 | Sem parada em 100.000; em 125.000, Basic US$ 115, Pro US$ 126,50, Platform US$ 138 (leitura do controle deslizante) |
Os números do Resend vêm da página de preços, e do controle deslizante dela, que mostra o Pro a US$ 35 para 100.000 e-mails por mês (lido em 7 de outubro de 2026); o excedente por 1.000 e-mails que aparece nos cartões não serve para estender o preço de um plano até um volume que o controle não mostra. Os do Postmark são o que o controle deslizante da página de preços mostrava em 7 de outubro de 2026. Valores em dólares americanos; a conversão e eventuais impostos ficam por sua conta.
Lendo a diferença de custo sem otimismo demais
Os preços menores do Resend vêm com limites que merecem leitura. O plano Free trava o envio em 100 e-mails por dia, então 3.000 por mês só funcionam se você espalhar os disparos; um pico no dia do lançamento bateria no teto. A página mostra o excedente como uma configuração pay-as-you-go que você ativa nas opções de uso, e descreve apenas cobrança mensal, sem desconto anual. O Pro inclui 10 domínios e 5 endpoints de webhook, e o Scale sobe para 1.000 domínios e 10 endpoints, com um canal dedicado no Slack. Em 100.000 e-mails o controle deslizante mostra o Pro a US$ 35 e o Scale a US$ 90, então o Scale compensa pelos extras, não pelo volume.
A escada do Postmark sobe em recursos, não só em tamanho. O Basic custa US$ 15 com 10.000 e-mails, 5 domínios de envio e retenção de 45 dias. O Pro acrescenta processamento de e-mails recebidos, até 10 domínios e uma janela de retenção configurável de até 365 dias. O Platform tem domínios e usuários ilimitados. A página lista o excedente a US$ 1,80, US$ 1,30 e US$ 1,20 por 1.000 e-mails nos três planos. O Resend informa 30 dias de retenção de dados no Free, no Pro e no Scale; se você precisa de uma janela maior do que essa, pese a retenção configurável do Postmark contra a diferença de preço.
O primeiro envio, lado a lado
O caminho mais curto no Resend passa por um template publicado: você o cria no painel, publica, e depois informa o ID e as variáveis. Este é o exemplo em Node.js da documentação de templates do Resend:
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
await resend.emails.send({
from: 'Acme <onboarding@resend.dev>',
to: 'delivered@resend.dev',
template: {
id: 'order-confirmation',
variables: {
PRODUCT: 'Vintage Macintosh',
PRICE: 499,
},
},
}); O remetente resend.dev e o destinatário delivered@resend.dev permitem testar a chamada antes de verificar um domínio. As variáveis do template aceitam apenas letras ASCII, números e sublinhado, e quatro nomes são reservados: FIRST_NAME, LAST_NAME, EMAIL e UNSUBSCRIBE_URL. Com um template informado, você não pode enviar também html, text ou react, e uma variável ausente faz a chamada falhar com erro de validação em vez de entregar uma mensagem pela metade.
O envio simples do Postmark exige menos preparo, mas é mais rígido com a identidade. Com o ServerClient mostrado na documentação de envio, uma mensagem fica assim:
const result = await postmark.sendEmail({
From: "sender@acme.example",
To: "customer@example.com",
Subject: "Hello from Postmark",
TextBody: "Hello from Postmark!",
HtmlBody: "<html><body><strong>Hello</strong> from Postmark!</body></html>",
MessageStream: "outbound",
});
console.log({ messageId: result.MessageID }); O endereço em From precisa pertencer a uma assinatura de remetente confirmada, senão o Postmark responde com 422. A documentação também descreve um modo de teste: ao passar POSTMARK_API_TEST como token do servidor, o Postmark valida a requisição sem entregar nada. Cada servidor do Postmark tem o próprio token, de modo que as credenciais de um aplicativo não abrem os dados de outro.
React Email e templates
O SDK de Node.js do Resend recebe uma propriedade react, como no guia para Next.js, em que um componente EmailTemplate vai direto para emails.send. A página de preços lista o React Email entre os recursos de envio, e o React Email é de código aberto em react.email. Na documentação do Postmark que li não aparece um parâmetro equivalente: ele aceita HTML, texto simples ou um template salvo, endereçado por TemplateAlias e preenchido por um TemplateModel, e a tabela de preços cita um editor de templates com ferramenta de importação. Com o Postmark você renderiza os componentes React para HTML antes, o que é fácil, mas é uma etapa a mais. Escolher a biblioteca de componentes é outra decisão; veja MJML vs React Email, React Email vs Maizzle e o guia para desenvolvedores React.
Idempotência e reenvios
A referência de envio do Resend documenta o cabeçalho Idempotency-Key: o Resend guarda a chave por 24 horas e a usa para não enviar o mesmo e-mail duas vezes, o que protege você quando um worker estoura o tempo e tenta de novo. A documentação de envio do Postmark que consultei não descreve algo equivalente; com ele, o registro do que já foi enviado é seu, por exemplo indexado pelo pedido ou pelo evento do usuário. O exemplo de webhook do próprio Postmark segue a mesma lógica para eventos recebidos: guarda cada MessageID e responde "duplicate" quando ele reaparece. Se os seus jobs tentam de novo com insistência, esse é um custo de projeto real de um dos lados. A página Loops vs Resend mostra a opção do Resend em um exemplo de código.
Webhooks, assinatura e recebimento
O Resend cria e gerencia webhooks pelo painel, pela API, pelo SDK ou pela CLI, e dá a cada endpoint um segredo de assinatura. A documentação manda verificar as requisições com o SDK ou com as bibliotecas da Svix, e cobre como reenviar um evento que o seu endpoint perdeu e como escutar eventos localmente durante o desenvolvimento. A quantidade de endpoints segue o plano: 1 no Free, 5 no Pro, 10 no Scale. A documentação do Postmark diz com todas as letras que ele não assina webhooks e recomenda HTTP Basic Auth na URL mais uma lista de IPs permitidos; ao salvar um webhook, ele testa cada tipo de evento habilitado e espera um 200.
O recebimento de e-mails existe nos dois. O Resend aceita mensagens em um domínio verificado ou em um endereço <id>.resend.app, avisa por webhook e permite buscar o conteúdo completo e os anexos. O Postmark transforma o e-mail recebido em um objeto JSON enviado à sua URL, e a página de preços lista o processamento de e-mails recebidos nos planos Pro e Platform.
Streams, domínios e IPs
O campo MessageStream do Postmark direciona cada mensagem para o lado transacional ou para o de broadcast, e a página de streams afirma que os dois usam faixas de IP separadas. A documentação do Resend lista Broadcasts, Contacts e Automations ao lado do envio, e a página de preços inclui 10.000 execuções de automação no Free, depois US$ 0,0015 por execução se você ativar o pay-as-you-go. Os domínios também diferem: o Resend dá 3, 10 e 1.000 no Free, no Pro e no Scale, e vende mais 100 por US$ 20 por mês. Um IP dedicado custa US$ 30 por mês no Resend, para clientes do Scale acima de 3.000 e-mails por dia, e a partir de US$ 50 por mês por IP no Postmark, para quem envia 300.000 por mês ou mais no Pro ou acima.
Escolha o Resend se …
- o seu time escreve React ou TypeScript e quer templates, chaves de idempotência e webhooks assinados sem bibliotecas extras.
- você envia menos de 100.000 e-mails por mês e quer um preço de plano que continue fixo enquanto o volume sobe de 3.000 para 50.000.
- você quer começar de graça e só verificar um domínio quando estiver pronto.
Escolha o Postmark se …
- você quer infraestrutura transacional e de broadcast separadas, escolhidas mensagem a mensagem, e 45 dias de histórico desde o início.
- processamento de e-mails recebidos e retenção configurável pesam mais do que o menor valor mensal.
- você se sente à vontade para proteger os endpoints de webhook por conta própria e registrar os eventos no seu banco.
Migrando de um para o outro
Comece pelo DNS: autentique o novo domínio de envio e mantenha o antigo fornecedor ativo enquanto a reputação se forma. Refaça os templates em seguida, porque o Resend recebe valores em um objeto variables (a documentação usa nomes em maiúsculas, como PRODUCT) e o Postmark lê um TemplateModel. Depois mude o tratamento dos webhooks, acrescentando a verificação de assinatura ao ir para o Resend ou Basic Auth e regras de IP ao ir para o Postmark. Importe as supressões antes de enviar qualquer coisa. Se você também considera o SendGrid, leia Postmark vs SendGrid; para quem compra APIs de e-mail, a página e-mail API-first resume a lista mais ampla.
Perguntas frequentes
Qual é mais barato, Resend ou Postmark?
Depende do volume. Com 3.000 e-mails por mês o plano Free do Resend custa zero, enquanto o menor plano pago do Postmark começa em US$ 15 para 10.000. Com 10.000 e-mails o Postmark Basic (US$ 15) sai abaixo do Resend Pro (US$ 20). A partir de 50.000, o Resend Pro a US$ 20 fica bem abaixo dos US$ 55 do Postmark Basic, e o controle deslizante do Resend mostra o Pro a US$ 35 para 100.000 e-mails, enquanto o Postmark não tem parada em 100.000 e marca US$ 115 no Basic em 125.000. Não li uma parada do Resend em 125.000, então compare os dois controles com o seu volume. Os planos incluem coisas diferentes, então compare também domínios, retenção e suporte.
O Postmark tem chave de idempotência como o Resend?
Na documentação de envio do Postmark que li não há chave de idempotência; o exemplo de tratamento de webhooks evita duplicatas guardando o MessageID no seu próprio banco. O Resend documenta o cabeçalho Idempotency-Key, exposto no SDK como opção, e diz que a chave expira em 24 horas. Se a sua fila reenvia tarefas que falharam, com o Postmark você precisa de um registro próprio dos envios.
Posso usar componentes do React Email nos dois?
O SDK de Node.js do Resend aceita o parâmetro react, e a página de preços cita o React Email entre os recursos de envio. O Postmark recebe HTML, texto ou um template salvo, então você renderiza os componentes para HTML no seu código antes de enviar. O React Email em si é de código aberto em react.email e não depende de nenhum dos dois.
Qual deles deixa os webhooks mais seguros?
O Resend assina as requisições de webhook e documenta a verificação com o SDK ou com as bibliotecas da Svix. O Postmark afirma que não assina webhooks; a recomendação é proteger a URL com Basic Auth e lista de IPs permitidos e tratar o conteúdo como não confiável até validá-lo. Para quem tem um checklist de segurança rígido, essa é a diferença mais nítida entre os dois.
Os dados ficam no Brasil? Preciso me preocupar com a LGPD?
As páginas de preço e a documentação que consultei não prometem hospedagem no Brasil para nenhum dos dois. Antes de enviar dados de clientes brasileiros, confirme com cada fornecedor onde os dados são processados e se existe um contrato de tratamento de dados que atenda ao seu caso. Quem decide se isso basta é o seu encarregado de dados ou o seu jurídico; esta comparação não substitui orientação legal.