Pular para o conteúdo principal

Checklist para verificação de envio e entrega de e-mails bem-sucedidos

O software a seguir será necessário para verificações adicionais:

  • Utilitário host

    • Debian/Ubuntu: apt-get install bind9-host
    • CentOS: yum install bind9-host
  • Utilitário telnet

    • Debian/Ubuntu: apt-get install telnet
    • CentOS: yum install telnet

Registro MX

O registro MX é um tipo de registro DNS projetado para registrar servidores de e-mail usando o protocolo SMTP. Esse registro é responsável por determinar o servidor para o qual um e-mail deve ser entregue pelo agente de e-mail do remetente. Existem vários tipos de registros com diferentes prioridades em um mesmo domínio.

Você pode verificar se o e-mail funciona localmente ou usa um servidor de e-mail de terceiros usando o comando host:

host -t MX example.com

Ao trabalhar com o servidor de e-mail local, uma saída será exibida da seguinte forma:

o e-mail de example.com é tratado por 10 mail.example.com.

Vale mencionar que a entrada mail.example.com também pode apontar para outro servidor. Além disso, é necessário observar que mail.example.com deve ser um registro A existente apontando para o servidor a partir do qual você está enviando e-mails.

Você também pode executar estes comandos para verificar:

host example.com
host mail.example.com

E comparar os endereços IP para os quais o domínio principal, neste caso example.com, e mail.example.com estão apontando.

importante

É necessário configurar um registro MX para que os servidores de e-mail possam receber seus e-mails.

Exemplo de registro MX:

Nome: example.com.
Tipo: MX
Valor: mail.example.com.
Prioridade: 10

Assinatura DKIM

Com a ajuda do FASTPANEL®, a assinatura DKIM pode ser obtida no menu de gerenciamento → seção "Mail", clicando em "DKIM" em frente ao domínio de e-mail necessário

Ativar DKIM no FASTPANEL

No lado do DNS, o registro deve ser adicionado da seguinte forma:

Nome: dkim._domainkey
Tipo: TXT
Valor: v=DKIM1; k=rsa; p=public_key

Aqui está um exemplo do registro DKIM correto

dkim._domainkey TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpbBQ0T2xO3/SwziunIC/IFbsxBRub6WXiu8Kc2w7uB4GVw+SAB5wSEslDJbFXQRbdV9i/Duu8EQ9xik8dbqdLVyP4iAtw34g4j6QWKcfocgK4hEkwlPFff1dzUlNQONh2riNE5KVJXuWcizm8hub7nPnl36e7OnxiL0qIU7tT1QIDAQAB

Mais informações sobre DKIM podem ser encontradas em https://wikipedia.org/wiki/DomainKeys_Identified_Mail

Registro SPF

A presença de um registro SPF pode ser verificada executando o comando host. Neste caso, o comando terá a seguinte aparência:

host -t TXT example.com

Com a saída como:

example.com texto descritivo "v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all"

Observe que ipv6 pode não estar presente nesta entrada. Neste caso, a assinatura SPF terá a seguinte aparência:

example.com texto descritivo "v=spf1 ip4:ipv4_of_your_server a mx ~all"

observação

É necessário destacar que deve haver apenas um registro SFP

No lado do DNS, o registro deve ser adicionado da seguinte forma:

Nome: example.com.
Tipo: TXT
Valor:
v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all
ou (se ipv6 não for usado)
v=spf1 ip4:ipv4_of_your_server a mx ~all

Por exemplo:

example.com TXT v=spf1 ip4:1.2.3.4 a mx ~all

Mais informações sobre SPF podem ser obtidas em https://wikipedia.org/wiki/Sender_Policy_Framework

Registro DMARC

Na maioria dos casos, o valor do registro DMARC será o mesmo.

No lado do DNS, o registro deve ser adicionado da seguinte forma:

Nome: _dmarc
Tipo: TXT
Valor: v=DMARC1; p=none

Por exemplo:

_dmarc.example.com. TXT v=DMARC1; p=none

Mais informações sobre DMARC podem ser encontradas em https://wikipedia.org/wiki/DMARC

Registro PTR e hostname do servidor

O registro PTR é um registro DNS reverso que converte um endereço IP em um nome. A principal finalidade desse registro para o servidor de e-mail é eliminar a maior parte do spam. Esse registro permite determinar o nome de um host de onde um e-mail está vindo. Mais comumente, um registro PTR contém um nome de domínio usado no servidor.

O registro PTR associa um endereço IP a um nome de host. Se o registro PTR não for especificado corretamente, seus e-mails serão rejeitados e não chegarão ao destinatário.

O hostname deve ser especificado como o nome do domínio real apontando para o servidor, e o PTR deve apontar para o domínio, que por sua vez aponta para o servidor.

Por exemplo, você tem um domínio example.com em seu servidor.

Ao executar o comando:

host example.com

você pode obter a saída:

example.com tem o endereço 1.2.3.4
o e-mail de example.com é tratado por 10 mail.example.com.

Para evitar possíveis problemas, recomenda-se definir o hostname e o registro PTR como um subdomínio existente de segundo nível, por exemplo mail.example.com

Disponibilidade das portas SMTP

Alguns provedores de hospedagem bloqueiam a possibilidade de usar portas que são usadas para enviar ou receber e-mails. As portas dos serviços de e-mail podem ser 25, 587, 465, 143 e 993.

Uma das maneiras mais fáceis de verificar a disponibilidade dessas portas é usar o comando telnet.

Para verificar a conexão de entrada de um servidor de terceiros

Execute o comando:

telnet ip_adress port

Por exemplo, se você tentar usar telnet para a porta 25 em 1.2.3.4, o comando a ser executado é:

telnet 1.2.3.4 25

Se a conexão for bem-sucedida, você verá uma saída como:

Tentando 1.2.3.4...
Conectado a 1.2.3.4.
O caractere de escape é '^]'.

Se a conexão falhar, a saída terá a seguinte aparência:

Conectando a 1.2.3.4 ...
Não foi possível abrir conexão com o host na porta some_port: falha na conexão

Ou:

telnet: Não foi possível conectar ao host remoto: tempo limite da conexão esgotado

Para uma conexão de saída

No seu servidor, execute o comando:

telnet smtp.gmail.com 25

Se a conexão for bem-sucedida, você verá uma saída como:

Tentando 2a00:1450:4010:c0b::6c...
Conectado a smtp.gmail.com.
O caractere de escape é '^]'.
220 smtp.gmail.com ESMTP j6-20020ac25506000000b004b53eb60e3csm1066162lfk.256 - gsmtp

Observe que, se você usa hospedagem em nuvem e usa a porta 25 para seu servidor SMTP, há grandes chances de seu provedor de hospedagem estar bloqueando conexões de saída na porta 25 por padrão. Abaixo você pode ver links com instruções sobre como resolver esse problema:

Além do bloqueio de portas pelo seu provedor de hospedagem, você precisa verificar se as portas no seu servidor estão fechadas ou não. Vamos considerar, por exemplo, o iptables, que atua como firewall, usando o painel de controle FASTPANEL. O comando para verificar se existe uma regra para uma porta específica, neste caso 25, é:

iptables-save | grep 25

Se você não tiver uma regra para a porta que deseja verificar, nenhuma informação será fornecida. Se você vir que existe uma regra bloqueando a porta do serviço de e-mail, então precisará remover essa regra com o comando:

iptables -D rule chain

Por exemplo, você executou um comando e encontrou o seguinte:

iptables-save | grep 25

-A INPUT -p tcp -m tcp --dport 25 -j DROP

Essa regra não permite nenhum acesso ao seu servidor pela porta 25, o que impedirá o envio de e-mails

Para remover a regra, use o comando:

iptables -D INPUT -p tcp -m tcp --dport 25 -j DROP

Este exemplo de comando permite verificar todas as portas usadas para envio de e-mails

Influência do IPv6 no envio de e-mails

Se você precisa usar ipv6 para seus serviços de e-mail, a primeira coisa que precisa fazer é verificar se existe um registro PTR para ipv6 e se os serviços de e-mail estão escutando em ipv6 em determinadas portas.

Você pode realizar a verificação usando o comando:

netstat -nltpp | grep tcp6

O resultado da saída desse comando será uma lista de todos os serviços que usam ipv6, entre os quais você já pode verificar se seu serviço de e-mail usa esse endereço. Infelizmente, hoje em dia o uso de ipv6 pode não funcionar corretamente, mesmo que você tenha feito todas as configurações corretamente.

Se você descobriu, ao verificar os logs do serviço de e-mail, que o erro está relacionado ao ipv6 e toda a configuração está correta, você pode desativar o uso de ipv6 para o serviço de e-mail.

No exemplo do exim4, a desativação do ipv6 fica assim:

  1. Verifique se o endereço ipv6 é usado pelo serviço com o comando

    netstat -nltp | grep exim

    Verifique se o endereço ipv6 é usado pelo exim

  2. No arquivo de configuração /etc/exim4/exim4.conf.template, a seguinte linha deve ser adicionada ao início do arquivo:

    disable_ipv6=true

  3. Salve as alterações no arquivo e depois reinicie o serviço com um comando como:

    systemctl restart exim4
  4. Execute o comando:

    netstat -nltp | grep exim

    para verificar se o serviço não está mais na lista

    Verifique se o ipv6 está desativado para o exim

Verifique o envio de e-mails usando serviços de terceiros

Depois de verificar todos os itens acima, você pode verificar o envio de e-mails do seu servidor usando recursos de terceiros.

Um dos serviços mais convenientes e informativos é https://www.mail-tester.com

Ao usá-lo, você pode verificar a classificação atual do seu e-mail, obter informações sobre se o conjunto de dados acima está correto ou não, bem como receber uma recomendação para melhorar a classificação.

Para fazer isso, basta enviar um e-mail para o endereço listado no site e, em seguida, clicar em "Then check your score".

Teste seu e-mail com o mail-tester