O que é o mxout
O mxout é um MTA outbound minimal em Rust que recebe e-mails via HTTP, assina DKIM e os entrega diretamente no servidor de e-mail do destinatário.
O problema
Aplicações que precisam enviar e-mail 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. O mxout resolve isso com uma API HTTP simples, assinatura DKIM própria e entrega MX direta — sem relay, sem fila persistente, sem estado.
Como funciona
A aplicação faz um POST /send com os dados do e-mail em JSON. O mxout:
- Identifica o domínio pelo campo
fromdo envelope. - Gera
Message-IDeDate. - Assina o e-mail com a chave DKIM do domínio.
- Resolve o registro MX do destinatário e entrega via SMTP com STARTTLS oportunístico.
O message_id gerado é devolvido na resposta HTTP e serve como chave de correlação em todos os logs.
É / Não é
| O mxout é | O mxout não é |
|---|---|
| MTA outbound (envio) | MTA inbound (recebimento) |
| Multi-domínio (um kit DKIM por domínio) | Multi-tenant gerenciado |
| Stateless (sem banco, sem fila persistente) | Servidor de filas durável |
| Integrado via API HTTP | Configurado via SMTP autenticado |
| Entrega direta no MX do destino | Relay intermediário |
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.