GUIA DEFINITIVO: Configurando seu Servidor para Entrega Confiável de E-mails. PARTE 2: Como evitar que e-mails de saída vão para spam

Registros DNS são um conjunto de parâmetros técnicos de um domínio que determinam para onde rotear diferentes tipos de tráfego: web, e-mail, FTP, etc.
Eles vinculam o nome do domínio a endereços IP e outros servidores para que navegadores e sistemas de e-mail saibam para onde se conectar ao trabalhar com seu site ou e-mail.
Na Parte 1 deste guia, configuramos o firewall e abrimos as portas necessárias para a entrega de e-mails. Agora que garantimos que as mensagens estão sendo enviadas do seu servidor, precisamos verificar se os registros DNS estão configurados corretamente. Gmail, Outlook e outros grandes serviços de e-mail verificam rigorosamente MX, SPF, DKIM, DMARC e PTR antes de entregar mensagens à caixa de entrada principal. Registros corretos aumentam acentuadamente a chance de as mensagens chegarem à pasta Caixa de Entrada em vez de spam (ou serem completamente rejeitadas).
Nas próximas etapas, descreveremos como verificar os registros DNS atuais de cada tipo e forneceremos recomendações sobre como configurá-los corretamente.
Nesta parte do artigo, para todas as verificações, usamos o domínio example.com, o endereço IPv4 1.2.3.4 e o endereço IPv6 2001:db8:1:11::1 como exemplos. Por favor, substitua-os pelo nome real do seu site e seus endereços IP reais.
Pré-requisitos
Etapa 1. Verificando o provedor de DNS
No contexto deste artigo, precisaremos editar os registros DNS várias vezes. Isso deve ser feito no painel de controle do provedor de DNS atual para o seu domínio. Para fazer isso corretamente, você precisa saber exatamente quem está prestando esses serviços no momento. Caso contrário, as alterações que você fizer não terão efeito.
Na maioria das vezes, o papel de provedor de DNS é realizado por:
-
seu provedor de hospedagem,
-
seu registrador de domínio ou
-
seu provedor de proteção DDoS.
Mas isso nem sempre é o caso.
Você pode descobrir exatamente quem é o provedor de DNS para seu domínio no momento usando o comando whois. Por exemplo, vamos verificar o domínio kodu.cloud:
whois kodu.cloud | grep -i "Name Server" | awk '{print $3}'
A saída listará os servidores NS:
art.ns.cloudflare.com
isla.ns.cloudflare.com
Isso significa que, neste caso, os registros DNS devem ser editados no painel de controle da Cloudflare.
Em muitos casos, você pode inferir quem é o provedor de DNS a partir do nome do domínio. No entanto, nem sempre é assim. Por exemplo, para nosso serviço de DNS gratuito, que está disponível para todos os nossos clientes, os nomes se parecem com isto:
birman.nameserver.red.
rex.nameserver.red.
korat.nameserver.blue.
toybob.nameserver.blue.
Neste caso, entre em contato com o suporte técnico do seu provedor de hospedagem para mais esclarecimentos.
Depois de identificar definitivamente seu provedor de DNS, faça login no painel de controle deles e vá para a seção de edição de registros DNS para seu domínio. A maioria das alterações descritas abaixo serão feitas lá. Como todas as interfaces diferem, é impossível fornecer um guia passo a passo universal.
Se você encontrar dificuldades nesta etapa, consulte o suporte técnico.
Após alterar os registros DNS, a propagação do cache pode levar de 20 minutos a 24 horas. Levando em consideração o tempo necessário para os principais serviços de e-mail atualizarem sua reputação, para uma entrega estável de e-mail, recomenda-se esperar cerca de 48 horas, embora mais frequentemente a situação se normalize após 2-3 horas.
Etapa 2. Verificando o IPv6
Para configuração correta, precisamos saber exatamente se o servidor possui um endereço IPv6. Para descobrir, execute o comando:
ip a | grep inet6
Se a saída for aproximadamente a seguinte:
inet6 ::1/128 scope host noprefixroute
inet6 2001:db8:1:11::1/120 scope global
inet6 fe80::1/64 scope link
então seu servidor possui um endereço IPv6. Ele será mostrado na linha que termina com scope global até o sinal /.
Anote o endereço IPv6 do seu servidor para poder usá-lo mais tarde.
Se a saída estiver vazia, ou contiver apenas uma única linha da forma:
inet6 fe80::1c2:3dff:fe4a:5b6c/64 scope link
então seu servidor não possui IPv6. Em todas as etapas subsequentes, por favor, não use IPv6.
Configuração de registro DNS
Etapa 3. Verificando o registro MX
O registro MX especifica para onde o e-mail de entrada para o domínio deve ser entregue. Você pode verificá-lo com o comando:
dig MX example.com +short
Exemplo de saída correta:
10 mail.example.com.
Se a saída mostrar um valor incorreto, edite o registro DNS no painel de controle do seu provedor de DNS:
- Tipo: MX
- Nome: @
- Endereço: mail.example.com
- Prioridade: 10
Se o registro estiver ausente, você terá uma saída vazia:
~ dig MX badexample.com +short
~
Neste caso, crie um registro DNS seguindo o exemplo acima.
Observe também que pode haver vários registros MX. Nesse caso, o e-mail será enviado primeiro para o servidor com o menor valor de prioridade numérica (por exemplo, 10 tem prioridade maior que 20).
Se o servidor principal não estiver disponível, a entrega será realizada no próximo servidor em ordem de prioridade.
Etapa 4. Verificando registros A e AAAA
Em seguida, certifique-se de que mail.example.com e example.com realmente apontam para o servidor do qual as mensagens estão sendo enviadas:
dig A example.com +short
dig A mail.example.com +short
dig AAAA example.com +short
dig AAAA mail.example.com +short
Os endereços IP na saída desses comandos devem corresponder aos endereços IPv4 e IPv6 reais do seu servidor. Se diferirem, ou se tais registros estiverem ausentes, edite-os ou crie-os no painel de controle do seu provedor de DNS:
- example.com (A):
- Tipo: A
- Nome: @
- Endereço: 1.2.3.4
- example.com (AAAA):
- Tipo: AAAA
- Nome: @
- Endereço: 2001:db8:1:11::1
- mail.example.com (A):
- Tipo: A
- Nome: mail
- Endereço: 1.2.3.4
- mail.example.com (AAAA):
- Tipo: AAAA
- Nome: mail
- Endereço: 2001:db8:1:11::1
Etapa 5. Verificando o registro SPF
SPF define quais servidores têm permissão para enviar e-mail em nome do domínio.
Verificando o registro:
dig TXT example.com +short
Exemplo de um registro SPF correto:
example.com. TXT "v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all"
É extremamente importante que o domínio tenha apenas um registro SPF. Vários registros podem causar um erro de validação.
Se o endereço IP diferir do endereço do seu servidor atual, ou se tal registro estiver ausente, edite-o ou crie-o no painel de controle do seu provedor de DNS:
Se houver IPv6:
- Tipo: TXT
- Nome: @
- Valor: v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all
Se não houver IPv6:
- Tipo: TXT
- Nome: @
- Valor: v=spf1 ip4:1.2.3.4 a mx ~all
O registro SPF possui muitas opções adicionais, mas este conjunto é suficiente para o envio correto de mensagens.
Etapa 6. Verificando o registro DKIM
DKIM é uma assinatura digital de uma mensagem que confirma que ela foi enviada do domínio especificado e não foi falsificada. Um registro DNS TXT com uma chave pública é usado para verificar a assinatura: primeiro a assinatura é criada no servidor e, em seguida, a chave é publicada no DNS.
Existem várias maneiras de obter uma assinatura DKIM para o seu domínio de e-mail, mas no âmbito deste artigo, consideraremos a opção mais simples - usando FASTPANEL. No FASTPANEL, uma assinatura DKIM é criada para domínios de e-mail por padrão.
FASTPANEL é extremamente conveniente para trabalhar com um servidor de e-mail: você não precisa configurar ou instalar nada manualmente. Fora da caixa, você obtém um servidor de e-mail configurado para trabalho completo com e-mails de entrada e saída, bem como um conveniente cliente de webmail.
Portanto, tudo o que você precisa fazer é copiar o valor da chave pública e adicioná-lo ao registro DNS correspondente. Para fazer isso, no painel, vá para “Gerenciamento” → “E-mail” e clique no botão “DKIM” no final da linha com o nome do seu domínio de e-mail:

Em seguida, copie a chave pública:

No lado do seu provedor de DNS, crie o seguinte registro DNS:
- Tipo: TXT
- Nome:
dkim._domainkey - Valor: a chave que você copiou anteriormente
Se tal registro já existir, é melhor substituir o valor da chave para ter certeza de que está atualizado.
Pode haver vários registros DKIM, mas nesse caso eles devem ter nomes diferentes. Por exemplo, ter registros com os nomes dkim._domainkey e mail._domainkey ao mesmo tempo não causará problemas.
Após a configuração e atualização do cache DNS, você pode verificar a presença do registro DKIM usando o comando:
dig TXT dkim._domainkey.example.com +short
Etapa 7. Verificando o registro DMARC
DMARC define as regras para lidar com mensagens que falham no SPF ou DKIM.
Verificando o registro:
dig TXT _dmarc.example.com +short
Exemplo de saída:
"v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s"
O registro DMARC possui muitas opções adicionais, mas para cenários comuns, é suficiente adicionar um registro da seguinte forma:
- Tipo: TXT
- Nome:
_dmarc - Valor: v=DMARC1; p=reject
Etapa 8. Verificando a variável sendmail_path (opcional)
Esta etapa será muito útil se você enviar mensagens diretamente do seu site (por exemplo, usando formulários de contato ou ao realizar pedidos). Para garantir que todos os registros DNS necessários sejam levados em consideração para tais mensagens, defina o seguinte valor para a variável sendmail_path nas configurações de PHP do seu site:
/usr/sbin/sendmail -t -i -f "[email protected]"
Por exemplo, no FASTPANEL, você pode fazer isso no cartão do site na seção “Configurações de PHP”.
Configuração de Hostname e PTR
PTR (ou rDNS) é um registro DNS reverso que vincula um endereço IP a um nome de domínio.
O Hostname do servidor é simplesmente o nome pelo qual o servidor pode ser identificado na rede.
Se o PTR não corresponder ao hostname do servidor, as mensagens quase certamente irão para o spam.
A melhor prática é definir mail.example.com como ambos os valores (lembre-se que este valor deve ser sempre substituído pelo nome real do seu domínio).
Etapa 9. Hostname
Para descobrir o hostname atual do seu servidor, execute o comando:
hostname
Para alterá-lo, execute:
sudo hostnamectl set-hostname mail.example.com
Em seguida, execute o comando hostname novamente para ter certeza de que tudo está correto.
Etapa 10. PTR
A situação com o registro PTR é um pouco diferente: ele só pode ser alterado pelo proprietário do endereço IP, ou seja, seu provedor de hospedagem. Você pode aprender mais sobre as razões para isso neste artigo.
Alguns provedores de hospedagem permitem que você edite o registro PTR em sua conta pessoal. Você pode tentar fazer isso lá sozinho. Se isso não funcionar, entre em contato com o suporte técnico e peça que eles definam o seguinte valor como registro PTR:
mail.example.com
Lembre-se de que este valor deve ser sempre substituído pelo nome real do seu domínio.
As alterações geralmente são aplicadas imediatamente; não há necessidade de esperar por atualizações de cache DNS neste caso. Você pode verificar o registro PTR atual usando o comando:
dig -x 1.2.3.4 +short
Verificação final
Se você chegou a esta seção, parabéns - você está na reta final. Agora tudo o que resta é verificar se tudo está configurado corretamente e se as mensagens do seu servidor têm quase garantia de chegar à Caixa de Entrada de qualquer destinatário. Antes de fazer isso, certifique-se de aguardar as atualizações do cache DNS. É melhor esperar pelo menos 1-2 horas após as últimas alterações nos registros DNS.
Existem muitos serviços de terceiros para tais verificações. Você pode usar qualquer um deles. Neste artigo, usaremos o serviço mail-tester.com.
Para realizar a verificação, acesse este site e copie o nome da caixa de correio de teste:

Envie uma mensagem para este endereço de qualquer caixa de correio do seu domínio e clique no botão “Then check your score”. Não se esqueça de especificar um assunto e escrever algo no corpo da mensagem.
Após isso, o serviço mostrará os resultados da verificação de DKIM, SPF, DMARC, a presença de um registro PTR e uma pontuação geral de "reputação" para a mensagem, bem como se seu servidor está listado em listas de bloqueio de SPAM.
Se você seguiu cuidadosamente e consistentemente todas as etapas deste artigo, o resultado será 10/10. Se for menor, estude as recomendações do mail-tester. Elas explicarão em detalhes qual é o problema e como resolvê-lo.
Adicionalmente, você pode verificar se seu servidor está listado em listas de bloqueio de SPAM usando outro excelente serviço:
https://mxtoolbox.com/blacklists.aspx
Se alguma das verificações mostrar que o endereço IP do seu servidor acabou em uma das listas, entre em contato com seu provedor de hospedagem para que eles possam ajudar a resolver o problema.
Isso conclui a configuração. Se você não quiser gastar tempo em suas próprias pesquisas ou encontrou algum problema, você sempre pode entrar em contato com o suporte técnico da kodu.cloud. Realizaremos todas as etapas descritas aqui o mais rápido possível para nossos clientes a qualquer momento, gratuitamente.