POP HOSTING

IP rotativo no Exim: como enviar e-mail por vários IPs no cPanel imprimir

  • exim, ip rotativo, mailips, mailhelo, helo_data, remote_smtp, cpanel
  • 0

Como usar vários IPs no envio do Exim no cPanel: IP fixo por domínio com mailips ou IP rotativo por mensagem, com DNS reverso e HELO corretos.

  • Tempo: 20 a 40 min
  • Nível: Avançado
  • Vale para: cPanel/WHM com Exim e mais de um IP público no servidor
  • Atualizado: outubro de 2026

"IP rotativo" é fazer o Exim alternar o IP de saída entre vários IPs do servidor. Há motivos legítimos para usar mais de um IP no envio: separar clientes que mandam muito e-mail dos demais, ou dividir um volume alto entre IPs bem configurados. Mas é bom saber logo de início o que a rotação não faz.

Atenção: Gmail, Microsoft e as listas de bloqueio avaliam também o domínio e a assinatura DKIM, não só o IP. Espalhar spam por vários IPs para escapar de bloqueios é uma técnica conhecida (snowshoe spam), é detectada e costuma levar todos os IPs da faixa para as listas de uma vez. Use mais de um IP para organizar envio legítimo, nunca para driblar limites.

Antes de começar

  • Acesso root ao WHM e ao SSH.
  • Os IPs adicionais já configurados no servidor (WHM » IP Functions » Add a New IP Address).
  • DNS reverso (PTR) em cada IP, apontando para um nome que, por sua vez, aponta de volta para o mesmo IP (por exemplo, mail1.seudominio.com.br para 203.0.113.11). O PTR é configurado pelo provedor do IP.
  • Todos os IPs no SPF dos domínios que vão enviar por eles, e DKIM ativo (veja como ativar DKIM e SPF no servidor).
  • Um backup da configuração do Exim: WHM » Service Configuration » Exim Configuration Manager, aba Backup.

Opção 1 (recomendada): um IP fixo por domínio

É o recurso oficial do cPanel e o mais fácil de manter: cada domínio sempre sai pelo mesmo IP, com o HELO certo. A reputação de cada IP fica estável e, se um cliente tiver problema, só o IP dele é afetado.

  1. Distribua os domínios entre os IPs no arquivo /etc/mailips:
    loja.com.br: 203.0.113.11
    newsletter.com.br: 203.0.113.12
    *: 203.0.113.10
  2. Defina o HELO de cada um em /etc/mailhelo, com o nome que está no PTR do IP correspondente:
    loja.com.br: mail1.seudominio.com.br
    newsletter.com.br: mail2.seudominio.com.br
    *: servidor.seudominio.com.br
  3. Ative os dois arquivos no Exim Configuration Manager, aba Basic Editor, seção Domains and IPs: ligue Reference /etc/mailips for custom IP on outgoing SMTP connections e Reference /etc/mailhelo for custom outgoing SMTP HELO. Salve.

Os detalhes estão em configuração do Exim no cPanel.

Opção 2: IP rotativo a cada mensagem

Aqui o Exim sorteia um IP da lista a cada conexão de saída. Como o IP muda, o HELO também precisa mudar, senão o nome anunciado deixa de bater com o PTR e os e-mails passam a ser recusados. A configuração abaixo resolve as duas coisas.

  1. Crie a função que sorteia o IP no arquivo /etc/exim.pl.local (o cPanel carrega esse arquivo junto com as funções Perl dele). Troque pelos seus IPs:
    sub ip_aleatorio {
        my @ips = ('203.0.113.11', '203.0.113.12', '203.0.113.13');
        return $ips[ int(rand(scalar @ips)) ];
    }
    Ajuste as permissões: chown root:root /etc/exim.pl.local && chmod 644 /etc/exim.pl.local.
  2. Descubra os transportes de saída. O cPanel usa mais de um: o remote_smtp e as variantes que assinam com DKIM, como dkim_remote_smtp. Liste todos:
    exim -bP transport_list
  3. Edite cada transporte de saída no Exim Configuration Manager, aba Advanced Editor. Em cada um, troque as linhas interface e helo_data por:
    interface = ${perl{ip_aleatorio}}
    helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}{$primary_hostname}}
    A segunda linha consulta o PTR do IP sorteado e usa esse nome no HELO; se não houver PTR, usa o hostname do servidor. Mantenha as outras linhas do transporte como estão.
  4. Salve. O WHM valida a configuração, recria o /etc/exim.conf e reinicia o Exim. Se aparecer erro, ele não aplica nada.
Dica: confira a configuração final de um transporte com exim -bP transport dkim_remote_smtp. Se você editou só o remote_smtp, os e-mails assinados com DKIM (a maioria) continuam saindo pelo IP principal.

Como verificar se a rotação está funcionando

  1. Envie alguns e-mails de teste para endereços externos (Gmail, Outlook).
  2. Conte as entregas por IP de saída no log. O Exim marca o IP local com I=[...] nas linhas de entrega:
    grep ' => ' /var/log/exim_mainlog | grep -o 'I=\[[^]]*\]' | sort | uniq -c
    Se nenhuma linha tiver I=, o registro do IP de saída está desligado: confira com exim -bP log_selector e inclua +outgoing_interface pelo Advanced Editor.
  3. Confira o HELO abrindo o cabeçalho de uma mensagem recebida no Gmail (Mostrar original): a primeira linha Received deve mostrar o nome do PTR do IP usado.

Como desfazer

  • No Advanced Editor, volte as linhas interface e helo_data dos transportes ao valor original (ou restaure o backup pela aba Restore).
  • Apague a função do /etc/exim.pl.local.
  • Reinicie o Exim: /scripts/restartsrv_exim.

Problemas comuns

E-mails recusados com erro de HELO ou de reverse DNS

Algum IP da lista não tem PTR, ou o PTR não aponta de volta para o mesmo IP. Teste cada um com dig +short -x 203.0.113.11 e retire da função os IPs sem DNS reverso.

Um dos IPs entrou em lista de bloqueio

Retire-o da função até resolver; os outros continuam enviando. Depois, descubra a origem do envio problemático: veja como localizar o que está enviando spam.

As mudanças sumiram depois de uma atualização do cPanel

Isso acontece quando o /etc/exim.conf é editado direto. Faça as alterações só pelo Advanced Editor, que o cPanel preserva.

Precisa de um servidor com vários IPs para e-mail? Veja os servidores dedicados da POP Hosting, com suporte em português.

Esta resposta lhe foi útil?
« Retornar