Saltar para o conteúdo

Tudo o que está entre a sua aplicação e a caixa de entrada.

Envio, configuração de domínios, eventos, webhooks e as proteções à volta deles, operados por nós.

O que acontece a um email.

A sua aplicaçãoChama POST /v1/emails com uma chave do lado do servidor.
OutstampGuarda o email, verifica limites e supressões e depois responde 202.
O tenant do seu projetoEnvia-o a partir de infraestrutura separada de todos os outros projetos.
O servidor do destinatárioAceita-o, adia-o ou devolve-o. Cada resposta torna-se um evento.
Cada evento aparece na cronologia do email no painel e, se o subscrever, chega assinado ao seu endpoint de webhook.

Envios que resistem a novas tentativas.

Só recebe um id de email depois de o email estar guardado. Se não puder ser guardado, recebe um 503 que pode repetir, nunca um id inventado.

  • Emails individuais, ou lotes de até 100 por pedido
  • Agendamento de 1 minuto a 30 dias de antecedência, com cancelamento e reagendamento
  • Até 50 destinatários por email
  • Anexos até 15 MB cada e 40 MB por mensagem nos planos pagos
  • Idempotency-Key guardada durante pelo menos 24 horas
curl -X POST https://api.outstamp.dev/v1/emails \
  -H "Authorization: Bearer $OUTSTAMP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: welcome-42" \
  -d '{
    "from": "Acme <[email protected]>",
    "to": "[email protected]",
    "subject": "Bem-vindo à Acme",
    "html": "<p>A sua conta está pronta.</p>"
  }'

Domínios, configurados consigo.

Mostramos os registos exatos, verificamo-los por si e dizemos o que falta.

  • São obrigatórios três registos DKIM; MAIL FROM e DMARC são recomendados
  • Um domínio só com DKIM já pode enviar, marcado como parcialmente verificado
  • Verificações automáticas durante 72 horas e, depois, reverificações regulares
  • Notas para Cloudflare, Route 53, Namecheap e GoDaddy
Registos DNS de send.acme.com
CNAMEDKIMVerificado
CNAMEDKIMVerificado
CNAMEDKIMVerificado
MXMAIL FROMVerificado
TXTSPFVerificado
TXTDMARCRecomendado

Eventos sobre os quais pode construir.

Submissão, entrega e queixas são factos separados, por isso um evento atrasado nunca se sobrepõe a um mais recente.

  • Assinatura HMAC-SHA256 sobre o id da entrega, o timestamp e o corpo em bruto
  • 10 tentativas de entrega ao longo de 48 horas, e reenvio durante 30 dias
  • Pelo menos uma vez e sem ordem garantida, por design: elimine duplicados pelo id do evento
  • Quando faz a rotação do segredo, as entregas levam as duas assinaturas durante 24 horas
verify.js
import { createHmac, timingSafeEqual } from "node:crypto";

export function verify(request, rawBody, secret) {
    const id = request.headers["outstamp-id"];
    const timestamp = request.headers["outstamp-timestamp"];
    const header = request.headers["outstamp-signature"] ?? "";

    if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false;

    const expected = createHmac("sha256", secret)
        .update(`${id}.${timestamp}.${rawBody}`)
        .digest("hex");

    return header.split(",")
        .map((part) => part.trim().replace(/^v1=/, ""))
        .some((candidate) => candidate.length === expected.length &&
            timingSafeEqual(Buffer.from(candidate, "hex"), Buffer.from(expected, "hex")));
}

Tipos de evento que pode subscrever

  • email.accepted
  • email.scheduled
  • email.queued
  • email.sent
  • email.delivered
  • email.delivery_delayed
  • email.bounced
  • email.complained
  • email.rejected
  • email.failed
  • email.suppressed
  • email.opened
  • email.clicked
  • email.canceled
  • email.submission_unknown
  • domain.created
  • domain.status_changed
  • domain.deleted
  • suppression.created
  • suppression.deleted
  • project.quota_warning
  • project.reputation_warning
  • project.sending_paused
  • project.sending_resumed

Teste e produção, sempre separados.

Chaves diferentes, prefixos diferentes e emails de teste que nunca chegam à internet.

  • Chaves os_test_ e os_live_ que se distinguem à primeira vista
  • Endereços do simulador para entrega, bounce, atraso, queixa, supressão, rejeição, falha e resposta perdida
  • Os envios de teste produzem os mesmos eventos e webhooks que os de produção, e nunca são cobrados
  • Antes de o seu domínio estar pronto, emails reais para membros verificados do seu espaço de trabalho, 10 por dia
Endereços do simulador e o evento que cada um produz
Enviar paraRecebe
delivered@simulator.outstamp.devemail.delivered
bounce@simulator.outstamp.devemail.bounced
transient@simulator.outstamp.devemail.delivery_delayed
complaint@simulator.outstamp.devemail.complained
suppressed@simulator.outstamp.devemail.suppressed

Proteções, ativas por omissão.

As verificações que um operador de email cuidadoso faria, aplicadas a todos os projetos.

  • Os hard bounces e as queixas são suprimidos automaticamente
  • Taxa de bounce: aviso aos 3%, ação aos 5%. Taxa de queixas: aviso aos 0,05%, ação aos 0,1%
  • Os limites de envio crescem com o seu histórico de entregas
  • Os endereços suprimidos são verificados antes de cada envio
  • App Acme

    Taxa de bounce de 0,4% em 24 horas

    A enviar
  • Acme staging

    Taxa de bounce de 0,1% em 24 horas

    A enviar
  • Projeto paralelo

    Taxa de bounce de 5,2% em 24 horas

    Em pausa

Um painel para toda a equipa.

O que programadores, suporte e finanças precisam, sem partilharem as mesmas credenciais.

  • Registo de emails

    Encontre qualquer email e veja a cronologia completa, os destinatários e o conteúdo enquanto a retenção o permitir.

  • Domínios e chaves

    Estado do DNS por registo, e chaves limitadas por permissão e por domínio.

  • Webhooks

    Cada tentativa de entrega com a respetiva resposta, um botão de teste e reenvio.

  • Supressões

    Porque é que um endereço está bloqueado, e uma forma de o remover, com confirmação.

  • Utilização

    Emails e destinatários por dia, face ao seu plano e aos seus limites.

  • Equipa e segurança

    Funções de proprietário, administrador, programador, analista e faturação, com passkeys e aplicações de autenticação.

Os seus dados, guardados por pouco tempo.

Uma retenção mais curta é uma definição, não um extra pago.

Retenção por omissão
DadosGuardados durantePode ser definido para
Metadados de entrega e eventos30 diasFixo
Endereços dos destinatários e assunto30 dias0, 1, 7 ou 30 dias
Corpos HTML e de texto7 dias0, 1, 7 ou 30 dias
AnexosAté à entrega, mais até 24 hApagados logo após a submissão
Corpos dos pedidos à API7 diasDesativado
Eventos e tentativas de webhook30 diasFixo
  • Sem treino de modelos com os seus emails, e sem publicidade
  • O acesso do suporte ao conteúdo é auditado, e pode desativá-lo
  • Desligar o armazenamento do conteúdo não custa nada

Ainda não disponível.

Para que possa decidir antes de se registar, não depois.

  • Modelos

    Envie o HTML e o texto que gera. Os modelos guardados ainda não estão disponíveis.

  • Relay SMTP

    O Outstamp é uma API HTTP. Ainda não existe endpoint SMTP.

  • SDKs oficiais

    REST simples com um esquema OpenAPI: qualquer cliente HTTP serve.

Envie o seu primeiro email em modo de teste.

Sem cartão e sem DNS. Adicione o seu domínio quando estiver pronto.

  • Sem cartão para testar
  • Preços em euros, sem IVA