Configurar DNS (SPF/DKIM/DMARC/PTR)
Cada domínio que envia pelo mxout precisa de quatro registros DNS. Sem eles, servidores de destino rejeitam ou classificam as mensagens como spam.
Tabela de registros
| Registro | Host | Tipo | Valor | Função |
|---|---|---|---|---|
| DKIM | <selector>._domainkey.<dominio> |
TXT | v=DKIM1; k=rsa; p=<base64 da chave pública> |
Prova criptográfica de que o e-mail foi assinado pelo detentor da chave privada |
| SPF | <dominio> |
TXT | v=spf1 ip4:<IP do servidor> -all |
Autoriza o IP do servidor a enviar pelo domínio |
| DMARC | _dmarc.<dominio> |
TXT | v=DMARC1; p=none; rua=mailto:dmarc@<dominio> |
Define política de alinhamento SPF/DKIM e endereço de relatórios |
| PTR (rDNS) | (reverso do IP) | PTR | <helo_hostname> |
Associa o IP ao hostname declarado no HELO, requisito de muitos MTAs |
Substitua <selector> pelo nome do selector gerado com o mxout-keygen, <dominio> pelo domínio real, <IP do servidor> pelo endereço IPv4 público do servidor e <helo_hostname> pelo valor do campo helo_hostname em mxout.json.
DKIM
O DKIM assina o conteúdo do e-mail com a chave privada do domínio. O servidor de destino busca a chave pública no DNS e valida a assinatura. Isso impede adulteração em trânsito.
O valor do registro vem da saída do mxout-keygen. Exemplo:
Host: default._domainkey.exemplo.com
Tipo: TXT
Valor: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...O campo p= é a chave pública em Base64. Copie o valor completo impresso pelo keygen — não truncar.
Veja mais sobre o funcionamento interno em Assinatura DKIM.
SPF
O SPF lista os IPs autorizados a enviar pelo domínio. O servidor de destino consulta o registro e recusa mensagens enviadas por IPs não listados.
Host: exemplo.com
Tipo: TXT
Valor: v=spf1 ip4:<IP do servidor> -allO -all rejeita qualquer origem não listada. Use ~all (softfail) apenas durante testes, nunca em produção.
Se o domínio já tiver um registro SPF, adicione o IP ao existente em vez de criar um segundo registro.
DMARC
O DMARC instrui o servidor de destino sobre o que fazer quando SPF ou DKIM falham e para onde enviar relatórios de falha.
Host: _dmarc.exemplo.com
Tipo: TXT
Valor: v=DMARC1; p=none; rua=mailto:dmarc@exemplo.comCom p=none o servidor registra falhas mas não rejeita mensagens. Após confirmar que SPF e DKIM estão passando consistentemente, você pode mudar para p=quarantine ou p=reject.
PTR / rDNS
O registro PTR (reverse DNS) mapeia o IP do servidor para um hostname. Muitos MTAs rejeitam conexões de IPs sem PTR válido ou com PTR que não corresponde ao hostname anunciado no HELO.
O PTR não é configurado no painel DNS do domínio. Ele é configurado no painel do provedor do VPS (ex.: OVH, Hetzner, DigitalOcean), na seção de redes ou configurações do servidor.
O valor do PTR deve ser idêntico ao campo helo_hostname em mxout.json:
{
"helo_hostname": "mail.exemplo.com"
}PTR do IP <IP do servidor>: mail.exemplo.comComo verificar
Verificar no Gmail
Envie um e-mail de teste para uma conta Gmail. Abra a mensagem, clique nos três pontos e selecione Mostrar original. Procure pelas linhas:
SPF: PASS with IP <IP do servidor>
DKIM: PASS header.i=@exemplo.comE o campo Assinado por: exemplo.com no resumo do cabeçalho.
Verificar DKIM via dig
dig TXT default._domainkey.exemplo.com +shortA resposta deve conter v=DKIM1 e a chave pública completa. Se retornar vazio ou NXDOMAIN, o registro ainda não foi publicado ou o TTL não expirou.
Verificar SPF via dig
dig TXT exemplo.com +shortProcure a linha com v=spf1.
Verificar PTR via dig
dig -x <IP do servidor> +shortO resultado deve ser o mesmo valor de helo_hostname.
Para o fluxo completo de adição de um domínio, veja Adicionar um domínio.