MillionSend Docs

Introdução

O que é o MillionSend e como as peças se encaixam.

MillionSend é a plataforma de email open source. Envie um. Envie um milhão.

Use de duas formas, com o mesmo código nas duas:

  • MillionSend Cloud — o serviço hospedado em millionsend.com. Cadastre-se, verifique um domínio, envie. API em api.millionsend.com.
  • Auto-hospedado — rode na sua própria infraestrutura com Docker Compose, enviando pela sua própria conta AWS SES. Veja Auto-hospedagem.

As duas formas compartilham o mesmo painel, a mesma API HTTP e os mesmos SDKs — esta documentação cobre ambas, e as abas Nuvem / Auto-hospedado que você verá em algumas páginas lembram sua escolha. Em volta do núcleo de envio você tem um painel, uma API HTTP, SDKs, webhooks, contatos, broadcasts e um relay SMTP.

API compatível com Resend

A API HTTP é compatível na comunicação com a do Resend: mesmos formatos de requisição e resposta, mesmo formato de erro. Os SDKs oficiais do Resend respeitam uma URL base configurável, então migrar uma integração existente significa trocar duas variáveis de ambiente — a chave de API e a URL base — sem reescrever seu código. O MillionSend também publica SDKs próprios para nove linguagens, espelhando o formato dos SDKs do Resend.

Uma diferença deliberada: contatos são globais ao time. Não existe o conceito de "audiences" — cada contato pertence diretamente ao seu time, e você segmenta com segmentos (filtros salvos) e tópicos (categorias de inscrição). Veja Contatos.

O que está incluído

ÁreaNotas
API de emailsEnviar, lote, consultar, cancelar envios agendados. Idempotência via header Idempotency-Key.
ContatosContatos do time inteiro, com estado de inscrição, propriedades customizadas e importação CSV.
SegmentosFiltros salvos sobre os contatos, usáveis como alvo de broadcasts.
TópicosCategorias granulares de inscrição, integradas à página de descadastro hospedada.
BroadcastsComponha, agende e envie para todos os contatos, um segmento ou um tópico.
TemplatesTemplates reutilizáveis com campos de mesclagem por contato.
DomíniosVerificação de DNS guiada, BYODKIM, rastreamento e TLS por domínio.
WebhooksAssinaturas Standard Webhooks, seleção de eventos por endpoint, log de entregas.
SupressõesHard bounces e reclamações suprimidos automaticamente.
Descadastro em um cliqueHeaders List-Unsubscribe (RFC 8058) e página de descadastro hospedada.
Relay SMTPSMTP pronto para uso na porta 2587, autenticado com chave de API.
MétricasEnvios diários com taxas de bounce e reclamação acompanhadas contra os limites do SES.
PainelPainel completo em inglês e português do Brasil.

Arquitetura em resumo

O MillionSend envia pelo AWS SES — na Nuvem isso é gerenciado para você; em uma implantação auto-hospedada é a sua própria conta SES, então você mantém a entregabilidade e o preço do SES. Uma implantação auto-hospedada são dois contêineres:

  • Postgres — o único banco de dados. A fila de jobs (pg-boss) também roda nele; não há Redis.
  • Contêiner do app — roda a API (porta 3001), o worker em segundo plano e o painel web (porta 3000). Um terceiro contêiner opcional roda o relay SMTP (porta 2587). Os processos também podem ser separados um por contêiner com a variável de ambiente PROCESS.

Os corpos dos emails são criptografados em repouso (criptografia de envelope AES-256-GCM) e expurgados após uma janela de retenção. Eventos de entrega (bounces, reclamações, entregas) voltam do SES — na Nuvem automaticamente; auto-hospedado via SNS para uma fila SQS que o worker consome por long polling, mais push para o seu host quando ele tem uma URL HTTPS pública.

Próximos passos

  • Início rápido — do zero ao primeiro email em poucos minutos, na Nuvem ou na sua própria instância.
  • Auto-hospedagem — a referência completa de implantação.
  • Referência da API — gerada a partir do código do servidor, sempre em sincronia.

Para agentes de IA

Toda página desta documentação está disponível como markdown puro acrescentando .md à sua URL (ou enviando Accept: text/markdown). /llms.txt é um índice legível por máquina, /llms-full.txt é a documentação inteira em um arquivo, e /openapi.json é a especificação OpenAPI 3.1 gerada a partir do código da API.

Licença

A plataforma é AGPL-3.0. Os SDKs são publicados separadamente sob MIT.

Nesta página