Alto volume, hora marcada, sem lentidão. O SendAC gerencia listas de milhões, dispara no horário e transforma cada abertura e clique em ação — no mesmo instante.
Por que existe
Nasceu de dor concreta: dezenas de instalações em produção que travavam por crescimento de banco e não escalavam em broadcasts na casa dos milhões. Os três motivos se repetem em toda ferramenta do tipo.
Guardar o HTML renderizado de cada destinatário transforma um disparo de um milhão em dezenas de gigabytes de texto quase idêntico. O SendAC guarda o modelo e as variáveis; o HTML é montado no envio e descartado.
Contar linha a linha em bilhões de eventos a cada abertura de tela é o que derruba os painéis. Aqui os eventos são pré-agregados no momento em que chegam; a tela lê um resumo de poucas linhas e responde na hora.
Enfileirar um milhão de mensagens individuais mata a vazão antes de a primeira sair. O SendAC divide o disparo em blocos de mil e os trabalhadores reivindicam blocos — com chave única, para que ninguém receba duas vezes.
Como funciona
O público é materializado e atualizado aos poucos. Na hora do envio a consulta é índice puro, sem junção — quatro milissegundos onde a alternativa levava duzentos.
Um milhão vira mil blocos de mil. Trabalhador que morre no meio de um bloco reprocessa sem duplicar envio.
Reputação de origem, ritmo por provedor de destino e aquecimento gradual são cuidados da nossa infraestrutura de entrega — a parte que separa quem chega na caixa de entrada de quem chega no lixo eletrônico.
O rastreador responde primeiro e grava depois, em lote. Um registro por pixel é exatamente o que derruba esse tipo de sistema.
Recusa, reclamação e caixa cheia voltam e alimentam a lista de supressão sozinhas, sem ninguém abrir planilha.
A supressão vive em memória e é consultada em tempo constante. Consultar o banco por contato seria inviável em um milhão.
Desenho
Em ferramenta de automação comum, o mesmo processo que dispara o milhão é o que desenha a tela de quem está navegando. Eles brigam por processador, por memória e pelas mesmas conexões de banco — e quem perde é sempre o envio. Aqui são programas separados, que não compartilham nada em execução.
Não atende ninguém pela web. Existe para uma coisa só: pegar blocos, montar a mensagem e colocá-la na rota de entrega o mais rápido que a rota aceitar. Perfil de vazão pura.
O único que a internet toca no caminho quente, e o mais crítico: endereço de rastreio vai gravado dentro de e-mail entregue, e e-mail entregue não se edita. Responde em menos de cem milissegundos e sobrevive a qualquer reinício do resto.
Lê o que volta da entrega — recusa definitiva, caixa cheia, reclamação — e alimenta a supressão em lote. Roda no seu ritmo, sem disputar nada com o disparo em curso.
Velocidade. O disparo de um milhão não divide processador
nem conexão de banco com quem abriu um relatório.
Disponibilidade. Atualizar o painel não para o envio;
reiniciar o motor não derruba os links das campanhas antigas.
Escala separada. Cada motor cresce na dimensão de que
precisa, em vez de todos crescerem junto com o mais pesado.
Só muda o gargalo de lugar. Por isso o armazenamento também é separado: estado em um banco relacional, evento em um banco de coluna, supressão em memória e fila própria para os blocos. Um disparo de um milhão não encosta na tabela que o painel lê.
O caminho da mensagem
Não é uma linha reta: é um ciclo. O que o destinatário faz com a mensagem retorna pelo rastreador e reaparece no painel — e é isso que alimenta o próximo disparo.
A linha cheia é a ida; a tracejada é a volta. Nenhum ponto do caminho guarda a mensagem montada, e nenhum deles conta evento cru na hora de mostrar o número.
Recursos
Nada de lista de intenções: tudo abaixo está em produção, rodando para clientes reais.
Data, hora e janela de encerramento. Quem entra no segmento durante a janela ainda recebe.
Por filtro ou por lista manual, com contagem real e materialização incremental.
Por pessoa e por disparo, com histórico no cadastro de cada lead.
Bounce, descadastro e reclamação entram sozinhos e valem para os próximos disparos.
Cabeçalho List-Unsubscribe com POST, como Gmail e Outlook
exigem de quem envia em volume.
Rastreio e imagens saem do domínio dele, com certificado emitido automaticamente. Link de terceiro dentro do e-mail é sinal de phishing.
Cada cliente no seu banco. Volume de um não afeta a consulta do outro, e a supressão nunca atravessa.
Formulário ou sistema externo envia o lead direto para um segmento, sem importação manual.
Por dentro
Cada item abaixo é uma escolha de engenharia com motivo escrito. Nenhum é enfeite.
Recusa definitiva, reclamação de spam, descadastro e caixa cheia voltam da entrega e entram na lista sem ninguém abrir planilha. No disparo ela é consultada em memória, em tempo constante — perguntar ao banco contato por contato é inviável em um milhão.
A lista é por cliente, mesmo quando dois clientes compartilham a mesma rota de envio: um endereço que recusou a mensagem de um não é bloqueado no outro, porque a relação de permissão é de cada um.
O formulário do site ou o sistema do cliente manda o lead direto para um segmento, por interface de programação. Nada de exportar planilha e importar na mão.
A gravação é em lote e idempotente: a mesma pessoa enviada duas vezes atualiza o cadastro em vez de virar duplicata, e o lead entra já visível para o próximo disparo agendado daquele segmento.
Um disparo de um milhão pode pedir a mesma imagem um milhão de vezes. Elas saem direto do disco, sem passar pela aplicação: o servidor web entrega o arquivo e pronto.
O nome de cada arquivo é o resumo do próprio conteúdo. Como o conteúdo nunca muda, o cache pode ser permanente — e trocar a imagem gera um nome novo, sem aquele problema de o destinatário continuar vendo a versão antiga.
Abertura e clique são medidos por pessoa e por disparo, com histórico no cadastro de cada lead. Os endereços saem do domínio do próprio cliente, com certificado emitido automaticamente: link de terceiro dentro de e-mail é sinal de phishing para quem filtra.
O rastreador responde primeiro e grava depois, em lote. Uma gravação por pixel é exatamente o que derruba esse tipo de sistema quando o volume chega.
São dois, de propósito. O estado — contatos, segmentos, disparos — fica num banco relacional, com cada cliente no seu próprio banco: o volume de um não afeta a consulta do outro.
Os eventos ficam num banco de coluna, que gravou dois milhões de linhas em 0,93 segundo, comprime a 6,4 para 1 e apaga sozinho o que passa de 180 dias. Sem tarefa agendada, sem script, sem alguém lembrando de limpar.
Quando alguém marca a mensagem como spam, o provedor devolve esse aviso a quem enviou — e só devolve a quem está inscrito no programa de Feedback Loop. Nós estamos, nos principais: Microsoft, Yahoo e o Google Postmaster Tools v2, a versão com acesso programático, que é o que permite acompanhar reputação todo dia em vez de olhar um painel de vez em quando.
É o único sinal que não dá para medir do nosso lado, e o que mais pesa na reputação de quem manda em volume. A reclamação chega, bloqueia o contato na hora e nunca mais entra em disparo daquele cliente — pelo mesmo caminho do bounce e do descadastro, e com categoria própria.
Porque reclamação não é descadastro. Quem se descadastra pediu para sair; quem reclama disse que a mensagem não deveria ter chegado. São fatos diferentes sobre a lista, e a gente acompanha os dois separados.
Junto vêm os números que o provedor devolve sobre nós: reputação do domínio, reputação do endereço de origem, taxa de reclamação e se a autenticação passou. É assim que se enxerga um problema de entrega antes de ele virar campanha inteira no lixo eletrônico — e não depois, quando o cliente pergunta por que ninguém abriu.
Cada mensagem sai com o identificador que os provedores usam para agrupar esse retorno por campanha. Sem ele, a reclamação chega sem dizer de onde veio.
SPF, DKIM e DMARC configurados no domínio do próprio cliente, não num domínio nosso emprestado. O provedor que recebe consegue verificar que a mensagem saiu de quem diz ter saído, e a reputação construída pertence à marca dele.
É o alicerce de tudo o mais: sem autenticação alinhada, nenhum cuidado com lista, ritmo ou conteúdo sustenta a entrega. E é trabalho por cliente, feito na configuração do domínio — não uma caixa que se marca no painel.
Cada operação sai de um conjunto de endereços dedicado. A reputação de um cliente não contamina a do outro, e um problema pontual numa lista não derruba a entrega de quem não tem nada a ver com aquilo — que é exatamente o que acontece em plataforma de envio compartilhado.
Endereço novo não nasce disparando milhão. O volume sobe em degraus, ao longo de dias, respeitando o ritmo que cada provedor aceita de um remetente desconhecido. Aquecer é o que transforma um endereço novo em endereço confiável — pular essa etapa é queimá-lo no primeiro disparo.
O logotipo do cliente exibido ao lado do remetente, antes de a mensagem ser aberta. É o único item desta página que o destinatário enxerga — e o que separa visualmente um e-mail legítimo de mais uma linha anônima na lista.
BIMI não se liga sozinho: exige DMARC em modo de aplicação e a marca registrada e verificada. Dá trabalho e por isso quase ninguém faz — justamente o motivo de funcionar como sinal de que ali tem empresa de verdade, e não uma conta descartável.
Desde 2024 Gmail, Yahoo e Microsoft passaram a exigir de quem manda em escala o que antes era recomendação. Quem não cumpre não recebe aviso: a entrega simplesmente cai.
O SendAC nasceu depois dessas regras e já sai de fábrica com elas: autenticação completa do remetente, descadastro de um clique no padrão que o Gmail pede — atendido no mesmo instante, não em dois dias —, identificador de campanha em cada mensagem, supressão automática de recusa, reclamação e descadastro, e rastreio no domínio do próprio remetente, em vez de link de terceiro no corpo do e-mail.
Do lado da entrega, a infraestrutura é nossa: reputação de origem, ritmo por provedor de destino e aquecimento gradual de cada rota — o trabalho que separa quem chega na caixa de entrada de quem chega no lixo eletrônico.
São obrigações que se cumprem no envio, mensagem por mensagem — não dá para arrumar depois.
Cabeçalho de descadastro com envio por POST, o de um clique que Gmail e Outlook passaram a exigir de quem manda em volume. O pedido entra na supressão na hora.
É o mesmo caminho do bounce e da reclamação: tudo o que significa "não me mande mais" cai num lugar só, e esse lugar é consultado antes de cada mensagem sair.
Arquitetura
Cada uma saiu da autópsia de um sistema que travou por causa da falta dela. Não são preferências de estilo: violar qualquer uma reintroduz um problema já conhecido.
Modelo e variáveis, nunca o HTML por destinatário.
Envio, abertura e clique são imutáveis, vão para um banco de coluna e expiram sozinhos depois de 180 dias.
Nunca resolver o segmento na hora do envio.
Blocos de mil, reivindicados pelos trabalhadores.
Chave única por disparo e contato: reprocessar não duplica envio.
Em um milhão de contatos, consultar o banco por pessoa é inviável.
Responde o clique primeiro, grava em lote depois.
Os números são somados na chegada, não na abertura da tela.
Construído sobre
Compilado, com concorrência de verdade. Um processo segura milhares de entregas simultâneas sem um enxame de processos e sem coletor de lixo travando no meio do disparo.
O estado — contatos, segmentos, disparos — com integridade garantida pelo banco, não por boa vontade da aplicação. Cada cliente no seu próprio banco.
Os eventos. Dois milhões de linhas gravadas em 0,93 segundo, compressão de 6,4 para 1 e expurgo automático do que passa de 180 dias.
Servidor dedicado, ajustado para volume. Sem camada de virtualização compartilhada entre o disparo e o vizinho de prateleira.
A caminho
A lista de recursos acima é só o que está em produção hoje. Estes dois estão em construção, e preferimos dizer isso antes de você perguntar.
Abriu e não clicou, entrou no segmento, clicou em um link específico — cada gatilho levando a um passo. O cadastro e as travas já existem e a entrada de leads por opt-in já alimenta os segmentos; o que falta é o motor que executa os passos sozinho.
É o "AC" do nome: taxa de envio como função do tempo, subindo devagar em endereço novo e recuando sozinha quando um provedor começa a adiar. Hoje o controle de ritmo já existe e funciona; o que falta é ele se ajustar sozinho, sem ninguém tocar.
A conversa começa pelo tamanho da lista, pela origem dos contatos e pelo domínio de envio. O resto a gente configura.