Entrega MX direta
O mxout entrega e-mails conectando diretamente ao servidor de e-mail do domínio destinatário, sem passar por um relay intermediário.
Resolução de MX
Ao entregar para destinatario@exemplo.com, o mxout consulta os registros MX de exemplo.com no DNS. Os servidores retornados são ordenados por prioridade: o menor valor numérico indica o servidor preferencial.
Se o domínio não tiver registro MX, o RFC 5321 permite usar o registro A do próprio domínio como servidor de e-mail implícito. O mxout segue essa regra.
O mxout tenta os servidores MX em ordem de prioridade. Se o primeiro falhar de forma definitiva, passa para o próximo.
Diálogo SMTP e STARTTLS
A conexão ao servidor MX usa a porta 25. O diálogo segue esta sequência:
→ EHLO <helo_hostname>
← 250 + lista de extensões anunciadas
(se o servidor anunciar STARTTLS:)
→ STARTTLS
← 220 pronto para TLS
→ (handshake TLS)
→ EHLO <helo_hostname> ← re-EHLO após TLS
← 250
→ MAIL FROM:<remetente@exemplo.com>
← 250
→ RCPT TO:<destinatario@destino.com>
← 250
→ DATA
← 354 pode enviar
→ (corpo do e-mail)
→ . ← linha com ponto final
← 250 aceito
→ QUIT
← 221O STARTTLS é oportunístico: se o servidor MX de destino não anunciar suporte a STARTTLS, o mxout entrega em texto claro. Isso prioriza a entrega em vez de falhar por falta de criptografia. O mxout não implementa MTA-STS nem DANE.
Quando o TLS é estabelecido, o certificado do servidor remoto é validado contra as raízes da Mozilla (embutidas no binário do mxout).
Retry em memória
O mxout faz até 4 tentativas de entrega por destinatário, com os seguintes intervalos:
| Tentativa | Quando |
|---|---|
| 1 | Imediata |
| 2 | +5 s após a falha anterior |
| 3 | +10 s após a falha anterior |
| 4 | +30 s após a falha anterior |
As tentativas ficam em memória. Se o processo reiniciar, os e-mails em retry são perdidos.
Classificação de erros
O código de resposta SMTP determina o comportamento:
- 5xx (erro permanente): o servidor destino rejeitou definitivamente o e-mail. O mxout aborta o destinatário imediatamente, sem retentativas. Exemplos: usuário inexistente (550), domínio não encontrado (551).
- 4xx (erro temporário) ou falha de conexão: o servidor está temporariamente indisponível. O mxout retenta até esgotar as tentativas. Exemplos: caixa cheia (452), serviço indisponível (421).
Ao esgotar todas as tentativas sem sucesso, o mxout registra a falha no ledger e descarta o destinatário. Não há notificação automática ao remetente.
PTR/rDNS e reputação de IP
Servidores de e-mail de destino verificam se o IP de saída tem registro PTR (rDNS) apontando para o mesmo hostname usado no EHLO. Sem esse registro, muitos servidores rejeitam ou pontuam negativamente o e-mail.
Além do PTR, a reputação acumulada do IP influencia diretamente a entregabilidade:
- IPs novos costumam ser tratados com desconfiança por grandes provedores.
- IPs que já enviaram spam (mesmo que por outro operador anterior) podem estar em listas de bloqueio.
- Volume inconsistente (pico repentino) aciona filtros de spam.
Antes de usar o mxout em produção, verifique:
- O PTR do IP de saída aponta para
<helo_hostname>. - O SPF do domínio inclui o IP de saída.
- O DKIM está publicado no DNS.
- O DMARC está configurado.
MX direto vs relay terceiro
| Critério | MX direto (mxout) | Relay terceiro (SES, Mailgun) |
|---|---|---|
| Custo por volume | Zero (infra própria) | Pago por e-mail ou por plano |
| Controle do IP | Total | Nenhum (IP do provedor) |
| Reputação inicial | Baixa (IP novo) | Alta (IPs aquecidos) |
| Configuração DNS | Obrigatória (PTR, SPF, DKIM, DMARC) | Simplificada |
| Dependência externa | Nenhuma | Alta disponibilidade do relay |
| Rastreamento/analytics | Apenas via ledger | Painel, webhooks, bounce handling |
| Adequado para | Volume moderado, controle total | Alta entregabilidade sem gestão de IP |
Próximos passos
- Configurar DNS — PTR, SPF, DKIM e DMARC passo a passo.