Linux e SSH
Como verificar a fila de e-mails do Exim pelo SSH e limpar com segurança
exim -bpc conta, exim -bp lista, exiqgrep filtra, exim -Mvh e -Mvb mostram a mensagem e exim -Mrm remove. Veja cada comando rodando num Exim de verdade, como achar a conta que disparou spam, por que a fila trava e o que muda no cPanel.
- Por equipe técnica da Hospedagem Segura
- Atualizado em 10/10/2026
- 8 min de leitura
Texto do artigo
Neste artigo
Para verificar a fila de e-mails do Exim pelo SSH, entre como root e rode exim -bpc para saber quantas mensagens estão paradas e exim -bp para listar cada uma, com idade, tamanho, ID, remetente e destinatários. Para filtrar, use o exiqgrep; para abrir uma mensagem, exim -Mvh (cabeçalho), exim -Mvb (corpo) e exim -Mvl (histórico de entrega); para remover, exim -Mrm.
Os comandos são os mesmos num servidor cPanel, onde o programa também se chama exim, e no Debian ou no Ubuntu, onde o pacote é o exim4 e o comando exim é um atalho para ele. Tudo abaixo foi rodado de verdade num Debian 13 com Exim 4.98.2, com mensagens de exemplo presas na fila porque o contêiner estava sem rede, a mesma situação de um servidor que não consegue entregar.
Contar e listar a fila do Exim: exim -bpc e exim -bp
O exim -bpc devolve só o total. O exim -bp lista a fila em ordem de chegada. Em fila grande, use exim -bpr, que não ordena e responde mais rápido, e mande para o head ou o less:

Cada mensagem ocupa duas ou mais linhas:
- Na primeira, a idade na fila (4m, 2h, 3d), o tamanho, o ID da mensagem e o remetente entre os sinais de menor e maior.
- Nas seguintes, os destinatários. Quem já recebeu aparece com D na frente.
- Remetente <> é um aviso de não entrega (bounce) gerado pelo próprio servidor.
- A palavra frozen, entre três asteriscos de cada lado, marca uma mensagem congelada, que o Exim parou de tentar entregar.
O ID mudou de formato no Exim 4.97: passou de 16 para 23 caracteres, como 1xFNjJ-000000001Cw-42zz. Servidores com Exim mais antigo mostram IDs curtos; os comandos são os mesmos.
Resumo da fila por domínio e por remetente
Com centenas de mensagens, ler a lista não adianta. O exiqsumm agrupa os destinos por domínio, e uma linha de awk agrupa por remetente. No exemplo, fica evidente de onde veio a rajada:

exim -bp | exiqsumm
exim -bp | awk '/^ *[0-9]+[mhd]/{print $4}' | sort | uniq -c | sort -rn | headO exiqgrep filtra a fila e é a base para qualquer limpeza segura. As opções mais usadas, segundo a documentação do Exim:
- -f remetente e -r destinatário: aceitam expressão regular e não diferenciam maiúsculas.
- -o segundos e -y segundos: mensagens mais velhas ou mais novas que o tempo dado.
- -z só as congeladas; -x só as não congeladas.
- -i mostra só os IDs; -c mostra só a contagem; -b mostra uma linha por mensagem.
exiqgrep -f promo@exemplo.com.br -c
exiqgrep -r '@example\.net$' -i
exiqgrep -o 86400 -i
exiqgrep -f '^<>$' -iVer o conteúdo de uma mensagem: -Mvh, -Mvb e -Mvl
Antes de apagar, abra uma amostra. O -Mvh mostra o arquivo de cabeçalho da fila: usuário que enviou, remetente, destinatários e os cabeçalhos do e-mail. O -Mvb mostra o corpo e o -Mvl, o histórico de tentativas de entrega dessa mensagem:

No cabeçalho, procure a linha Received: from: num servidor de hospedagem, ela mostra o usuário do sistema que gerou a mensagem, o que já aponta a conta. Se o PHP estiver com mail.add_x_header ligado, o cabeçalho X-PHP-Originating-Script traz o arquivo que chamou a função mail(), muitas vezes um formulário de contato abusado ou um arquivo malicioso enviado ao site. Para ver a mensagem completa, como o destinatário receberia, use exim -Mvc.
Por que as mensagens ficam presas na fila
A fila não deveria acumular. Quando cresce, o motivo aparece no histórico da mensagem (-Mvl) ou no log principal do Exim. As causas mais comuns:
- O servidor de destino recusa ou não responde, e o Exim adia e tenta de novo depois (linhas com == no log).
- Falha de DNS: o domínio de destino não resolve, como no nosso teste ("host lookup did not complete").
- Porta 25 de saída bloqueada: muitos provedores de VPS bloqueiam por padrão, e as mensagens ficam adiadas com tempo esgotado.
- Rajada de spam de uma conta comprometida ou de um formulário sem proteção.
- Avisos de não entrega para remetentes falsos, que não têm para onde voltar e acabam congelados.
Para achar quem mais enviou, conte as entradas de recebimento (<=) no log por remetente. O exigrep junta todas as linhas de uma mensagem:

grep ' <= ' /var/log/exim_mainlog | awk '{print $5}' | sort | uniq -c | sort -rn | head
exigrep 1xFNjJ-000000001Ck-3kLL /var/log/exim_mainlogRemover, congelar e reenviar mensagens com segurança
Depois de identificar o remetente, remova só as mensagens dele. O -Mrm apaga sem gerar aviso de não entrega, e não há como recuperar:

exiqgrep -i -f promo@exemplo.com.br | xargs exim -Mrm
exiqgrep -i -r promo@exemplo.com.br | xargs exim -Mrm
exiqgrep -z -i | xargs exim -MrmRepare que os avisos de não entrega para o remetente comprometido não saem no primeiro comando, porque o remetente deles é <>; o segundo comando, filtrando pelo destinatário, resolve. Se aparecer a mensagem de que um e-mail está travado (locked), é porque o Exim está entregando aquela mensagem naquele momento.
Para segurar uma mensagem sem apagar, congele e descongele:
# exim -Mf 1xFNjN-000000001E9-0U2o
Message 1xFNjN-000000001E9-0U2o is now frozen
# exiqgrep -z
5m 1.7K 1xFNjN-000000001E9-0U2o <> *** frozen ***
promo@exemplo.com.br
# exim -Mt 1xFNjN-000000001E9-0U2o
Message 1xFNjN-000000001E9-0U2o is no longer frozenPara tentar entregar agora, use exim -M <ID> para uma mensagem ou exim -qf para a fila toda (ignorando o intervalo entre tentativas); o exim -qff inclui as congeladas. Corrija a causa antes: forçar a entrega de spam só piora a reputação do IP. O comando que apaga a fila inteira, exiqgrep -i | xargs exim -Mrm, leva junto e-mails legítimos e não tem volta.
Atenção
No cPanel: mesmos comandos, outros caminhos
No cPanel, o comando também é exim, e a própria documentação da cPanel usa exim -bpc, exim -Mrm e exiqgrep -f ... | xargs exim -Mrm, que exigem acesso root. O que muda:
- Log principal: /var/log/exim_mainlog (também existem exim_rejectlog e exim_paniclog).
- Reiniciar o Exim: /usr/local/cpanel/scripts/restartsrv_exim --restart.
- Pela tela: o WHM tem o Mail Queue Manager, que lista, entrega, apaga e descongela mensagens.
- Em hospedagem compartilhada, sem root, quem mexe na fila é o provedor.
Mantenha o Exim atualizado. O site oficial do projeto lista a 4.100.1, uma versão de segurança de setembro de 2026, como a atual. No Debian e no Ubuntu, as correções chegam pelo pacote exim4; no cPanel, pelas atualizações do próprio painel.
Acompanhar fila, reputação de IP, SPF, DKIM e DMARC faz parte de manter e-mail funcionando num servidor próprio. No servidor dedicado com cPanel, a licença oficial vem na proposta e a administração pode ficar com a equipe; na VPS com cPanel, você mantém o root e cuida do servidor.
Perguntas frequentes
Como ver quantos e-mails estão na fila do Exim?
Rode exim -bpc como root: o comando devolve só o número de mensagens na fila. Para listar cada uma, com idade, tamanho, ID, remetente e destinatários, use exim -bp, ou exim -bpr em filas grandes, que responde mais rápido por não ordenar.
Como apagar todos os e-mails de um remetente da fila do Exim?
Use exiqgrep -i -f remetente@exemplo.com.br | xargs exim -Mrm. O exiqgrep lista só os IDs das mensagens daquele remetente e o exim -Mrm remove cada uma, sem gerar aviso de não entrega. Rode antes o mesmo exiqgrep com -c para conferir quantas mensagens serão apagadas.
O que é uma mensagem frozen no Exim?
É uma mensagem congelada: o Exim parou de tentar entregá-la, em geral um aviso de não entrega que não tem para onde voltar. Liste as congeladas com exiqgrep -z, descongele uma com exim -Mt ID ou remova todas com exiqgrep -z -i | xargs exim -Mrm.
Os comandos do Exim são os mesmos no cPanel?
São. No cPanel o comando é exim e a documentação oficial da cPanel usa exim -bpc, exim -Mrm e exiqgrep para gerenciar a fila. O que muda é o caminho do log, /var/log/exim_mainlog, e o reinício do serviço, feito com /usr/local/cpanel/scripts/restartsrv_exim.
Leia também
- E-mailGuia passo a passo para configurar SPF, DKIM e DMARC no seu domínioSPF, DKIM e DMARC são três registros no DNS que provam que um e-mail saiu mesmo do seu domínio. Sem eles, as mensagens vão para o spam e golpistas podem se passar pela sua empresa.5 min de leitura10/10/2026
- Linux e SSHComandos SSH para servidor cPanel/WHM em 2026: scripts, whmapi1 e LinuxSeleção dos comandos SSH que um administrador de servidor cPanel/WHM usa no dia a dia em 2026: atualizar, reiniciar serviços, empacotar e suspender contas, consultar o WHM pelo whmapi1 e achar o que lota o disco, pesa na CPU ou aparece nos logs. O CentOS saiu de cena; veja os sistemas aceitos hoje.8 min de leitura10/10/2026
- WordPressComo remover malware do WordPress e evitar nova infecçãoRedirecionamentos estranhos, aviso do Google ou páginas de spam são sinais de infecção. Veja como limpar o WordPress na ordem certa e fechar a porta por onde o ataque entrou.4 min de leitura10/10/2026
E-mail no seu servidor cPanel
Servidor dedicado ou VPS com cPanel/WHM e licença oficial, com Exim, webmail e acesso root. No dedicado, a administração pode ficar com a equipe, sob proposta.
