Exim: Guia de comandos SysAdmin
Na maioria das vezes, para agilizar tarefas administrativas no Exim, é necessário executar comandos no terminal do servidor.
Veja abaixo alguns comandos úteis:
- Veja todas as configurações de seu servidor:
exim -bP
- Ver o que o Exim está fazendo agora:
exiwhat
- Lista de mensagens (quantidade, volume, tempo, domínio …)
exim -bp | exiqsumm
- Quantos emails estão na fila:
exim -bpc
- Use -f para pesquisar as mensagens de um remetente específico:
exiqgrep -f [usuario]@dominio
- Use -r para pesquisar as mensagens para um destinatário específico:
exiqgrep -r [usuario]@dominio
- Use -o para retornar as mensagens mais velhas que o número de segundos especificado. Por exemplo, mensagens mais velhas que 1 dia:
exiqgrep -o 86400 [...]
- Use -y para retornar as mensagens que são mais novas que o número de segundos especificado. Por exemplo, mensagens mais novas que 1 hora:
exiqgrep -y 3600 [...]
- Use -s para retornar as mensagens por tamanho utilizando expressão regular. Por exemplo, 700-799 bytes:
exiqgrep -s '^7..$' [...]
-
Use -z para retornar somente as mensagens frozen, ou -x para retornar somente as não frozen. Existem também algumas opções que alteram a forma do retorno.
-
Use -i para retornar apenas o ID da mensagem como resultado de uma das duas opções de pesquisa anteriores:
exiqgrep -i [ -r | -f ] ...
- Use -c para retornar a quantidade de mensagens que casam com as opções de pesquisa acima:
exiqgrep -c ...
- Retornar apenas o ID das mensagens de toda a fila:
exiqgrep -i
- Iniciar o envio da fila:
exim -q -v
- Iniciar o envio da fila apenas para as mensagens locais:
exim -ql -v
- Remover uma mensagem da fila:
exim -Mrm message-id [ message-id ... ]
- Congelar uma mensagem:
exim -Mf message-id [ message-id ... ]
- Enviar uma mensagem da fila:
exim -Mt message-id [ message-id ... ]
- Enviar uma mensagem da fila, mesmo que o tempo de timeout foi alcançado ou não e independente se está congelada ou não:
exim -M message-id [ message-id ... ]
- Enviar uma mensagem da fila, mas somente se o retry time foi alcançado:
exim -Mc message-id [ message-id ... ]
- Forçar uma mensagem a falhar e retornar como “cancelado pelo administrator”:
exim -Mg message-id [ message-id ... ]
- Remover todas as mensagens da fila:
exiqgrep -i | xargs exim -Mrm
- Remover todas as mensagens congeladas (frozen):
exiqgrep -z -i | xargs exim -Mrm
- Remover todas as mensagens mais velhas que 5 dias (86400 * 5 = 432000 segundos):
exiqgrep -o 432000 -i | xargs exim -Mrm
- Congelar todas as mensagens da fila de um remetente especifico:
exiqgrep -i -f luser@example.tld | xargs exim -Mf
- Ver o cabeçalho de uma mensagem:
exim -Mvh message-id
- Ver o corpo de uma mensagem:
exim -Mvb message-id
- Ver os logs de uma mensagem:
exim -Mvl message-id
- Adicionar um destinatário à uma mensagem:
exim -Mar message-id address [ address ... ]
- Alterar o remetente de uma mensagem:
exim -Mes message-id address
- Testar se um email é válido:
exim -bt user@domain.com
Exemplo prático: Como remover os bounces da fila do exim?
exim -bp |grep "<>" | awk -F" " '{print $3}' > /tmp/mailbounce.log;
for i in $(cat /tmp/mailbounce.log); exim -Mrm $i; done
Não se esqueça, todos esses comandos devem ser executados como root em seu servidor cPanel & WHM.
Precisa de ajuda em algum procedimento? Não se preocupe, abra um ticket e nossa equipe de suporte irá lhe auxiliar!