O que é o mxout
O mxout é um servidor de envio de e-mail em Rust: recebe por SMTP autenticado ou HTTP, assina DKIM e entrega direto no servidor de e-mail do destinatário — sem relay intermediário.
O problema
Aplicações que precisam enviar pelo próprio domínio enfrentam um dilema: configurar um Postfix completo é custoso e difícil de manter; usar um relay terceiro (SES, Mailgun) adiciona custo por volume e dependência externa.
E há o problema de identidade: com um segredo compartilhado, toda aplicação que envia pode enviar por qualquer domínio, e um vazamento obriga a trocar a credencial de todas ao mesmo tempo.
Como funciona
Você registra domínios (o mxout gera o kit DKIM e diz o que publicar no DNS) e clientes (quem envia, com credencial própria e lista de domínios autorizados).
A aplicação entrega por um dos dois canais, com a mesma credencial:
- SMTP na porta 2525 — para quem já sabe configurar host/usuário/senha;
- HTTP
POST /send-raw— para quem prefere API.
O mxout autentica, confere se aquele cliente pode usar aquele domínio, assina com a chave DKIM correspondente, resolve o MX do destinatário e entrega. Com fila ligada, a mensagem é persistida e sobrevive a restart; sem ela, a entrega acontece na própria requisição.
O message_id devolvido é a chave de correlação: aparece no header da mensagem entregue,
na consulta da fila e em todos os eventos do ledger.
Dois poderes que não se misturam
| Credencial | Administra | Envia |
|---|---|---|
| Token de admin | domínios, clientes, cotas, allowlist | não |
Cliente (cli_<id> + senha) |
não | nos domínios autorizados |
É isso que permite entregar uma credencial por aplicação e revogar uma sem derrubar as outras.
É / Não é
| O mxout é | O mxout não é |
|---|---|
| Servidor de envio (outbound) | MX de entrada (recebimento) |
| Multi-domínio, um kit DKIM por domínio | Plataforma de marketing |
| Multi-cliente, credencial por aplicação | Serviço multi-tenant com billing |
| Fila própria, com retry de horas | Servidor de alto volume |
| SMTP autenticado e API HTTP | Relay aberto |
| Entrega direta no MX do destino | Relay intermediário |
Duas ausências deliberadas: não faz warm-up de IP nem mantém lista de supressão, e não processa bounce assíncrono (DSN) — só o resultado da conversa SMTP. Para volume alto com reputação gerenciada, um relay dedicado entrega melhor.
O mxout também é lento de propósito: envio serializado, atraso forçado entre mensagens e cotas baixas. Isso protege a reputação do IP de saída. Aumentar a vazão não é melhoria, é mudança de produto.
Quando usar
Use o mxout quando:
- A aplicação envia e-mail por domínios próprios e você quer controle total da infraestrutura.
- O volume não justifica pagar por um relay terceiro.
- Você já opera o IP de saída e pode configurar PTR, SPF, DKIM e DMARC.
Quando preferir um relay terceiro
Use SES, Mailgun ou similar quando:
- A reputação do IP de saída é crítica e você não tem histórico de envio estabelecido.
- O volume é muito alto e a gestão de reputação não faz parte do seu escopo.
- Você precisa de rastreamento de abertura, cliques ou rejeições com painel visual.
Um IP novo enviando direto para grandes provedores (Gmail, Outlook) costuma cair em spam até construir reputação. Relays terceiros já possuem IPs aquecidos.
Próximos passos
- Primeiro envio — configure e envie o primeiro e-mail.
- Arquitetura — entenda o fluxo interno de uma requisição.