Tempo estimado: 10–20 min | Nível: Admin (root)
Aviso importante
• Requer acesso root ao servidor (WHM/SSH).
• O uso de IP rotativo pode impactar reputação e políticas anti-abuso. Mantenha rDNS correto para cada IP, SPF/DKIM válidos e conformidade com as políticas de envio.
• Não edite diretamente
• Requer acesso root ao servidor (WHM/SSH).
• O uso de IP rotativo pode impactar reputação e políticas anti-abuso. Mantenha rDNS correto para cada IP, SPF/DKIM válidos e conformidade com as políticas de envio.
• Não edite diretamente
/etc/exim.conf em ambientes cPanel: use o Exim Configuration Manager (Advanced Editor). Edits diretos podem ser sobrescritos por atualizações.Pré-requisitos
- Servidor cPanel/WHM com Exim habilitado e suporte a Perl (padrão).
- Faixa de IPs públicos alocados ao servidor e com rDNS configurado (um PTR por IP).
- Entradas em
/etc/mailhelo(se necessário) e/etc/mailipspara mapeamentos fixos (opcional).
Método 1 — (Recomendado) WHM → Exim Configuration Manager (Advanced)
- No WHM (root), acesse Exim Configuration Manager → Advanced Editor.
- Localize a seção Editors for: Transports Configuration e ache o transporte
remote_smtp. - No campo do remote_smtp, adicione/ajuste a diretiva
interfacepara usar uma função Perl:
Deixe as demais linhas do transporte como já estiverem no seu servidor.remote_smtp: driver = smtp interface = ${perl{randinet}} - Role até Add additional configuration setting (ou use o campo “Apache conf include for Exim” equivalente) e insira o bloco Perl em /etc/exim.pl.local:
# /etc/exim.pl.local sub randinet { @inet = ("x.x.x.1", "x.x.x.2", "x.x.x.3", "x.x.x.4"); return $inet[int rand($#inet + 1)]; }- Substitua
x.x.x.Npelos seus IPs válidos. - Se o arquivo não existir, crie-o e salve com permissão 0644 (root:root).
- Substitua
- Clique em Save e depois Restart Exim pelo próprio WHM.
Comando equivalente em SSH (root):
/scripts/restartsrv_exim
Método 2 — (Alternativo) Edição por arquivos
Use apenas se não puder usar o Advanced Editor do WHM.
- Crie/edite
/etc/exim.pl.locale adicione:sub randinet { @inet = ("x.x.x.1", "x.x.x.2", "x.x.x.3", "x.x.x.4"); return $inet[int rand($#inet + 1)]; } - Abra
/etc/exim.conf, localize o transporteremote_smtpe ajuste a linhainterface:remote_smtp: driver = smtp interface = ${perl{randinet}}Atenção: em cPanel, alterações diretas podem ser sobrescritas. Prefira o método 1 sempre que possível. - Reinicie o Exim:
/scripts/restartsrv_exim
Verificando se a rotação está ativa
- Envie alguns e-mails de teste para provedores diferentes.
- Confira
/var/log/exim_mainlog: procure por linhas do remote_smtp com I=[IP] (IP de origem). Deve alternar entre os IPs da lista. - (Opcional) Aumente o detalhamento: em “log_selector” inclua
+smtp_connectionpara logar a interface.
Boas práticas (muito importantes)
- rDNS/PTR válido e coerente para cada IP usado no envio (ex.:
mail-1.seudominio.com.br,mail-2...). - SPF incluindo todos os IPs de envio; DKIM habilitado para os domínios.
- HELO/EHLO consistente (
/etc/mailhelo) se necessário por IP/domínio. - Política de envio: limites por domínio/caixa, lista limpa (opt-in), conteúdo e reputação monitorados.
- Monitoramento: acompanhe
exim_mainlog, filas e bounces (RBLs, rejeições por política).
Revertendo alterações
- Retire a linha
interface = ${perl{randinet}}do transporte remote_smtp. - Apague ou comente a função em
/etc/exim.pl.local. - Reinicie o Exim (
/scripts/restartsrv_exim).
Modelo para abrir ticket
Assunto: IP rotativo no Exim (ajuda)
Servidor: [hostname] | IPs usados: [lista]
Método: [WHM Advanced / Arquivos] | rDNS/SPF/DKIM: [OK / pendente]
Log: [trecho do exim_mainlog mostrando I=[IP]]
Observação: [erros/rejeições específicos]
Precisa de auxílio?
Podemos aplicar a configuração, validar rDNS/SPF/DKIM e revisar reputação/entregabilidade.
- WhatsApp: Conversar no WhatsApp
- Ticket/Chat: acesse sua Central do Cliente e abra um chamado.
Palavras-chave: Exim IP rotativo, cPanel Exim, interface Exim, /etc/exim.pl.local, /etc/exim.conf, mailips, mailhelo, rDNS, SPF, DKIM, reputação de envio, entregabilidade