Removendo e-mails da fila do queue
Publicado por Gustavo Pardellas Feijó 25/04/2008
[ Hits: 14.402 ]
Homepage: http://www.gldc.com.br
Download remove_by_email-1.0.sh
Algumas vezes algum script gera um erro e começa a disparar e-mails, o que acaba "entupindo" o diretório queue do seu servidor de e-mails.
Este script foi desenvolvido para remover as mensagens da fila, tomando como base o endereço que se quer remover.
Foi testado com o postfix e o sendmail, bastando alterar a variável referente ao diretório queue do seu servidor.
Comentários e melhorias são bem vindos.
#!/bin/bash ## remove_by_email.sh ## remove emails da fila queue. ## recebe como parametro um endereco ## de e-mail para remover. ## Desenvolvido por Gustavo Feijo ## chmod@gfeijo.eti.br ## Diretorio queue do servidor de e-mail QUEUE_DIR=/var/spool/postfix ENDERECO=$2 if [ $UID != 0 ] then echo -e "Desculpe, voce precisa ser root!!" exit 1 fi if [ ! $1 ] then echo -e "Por favor, especifique um endereco para remover:\n Usage: $0 [ --from | --to ] 'usuario@provedor.com.br'\n" exit 2 fi echo -e "Procurando por mensagens a remover..." case $1 in --from) QUEUE_FILES=( ${QUEUE_FILES[@]} `/usr/bin/mailq | grep ${ENDERECO} | awk '{print $1}'` ) ;; --to) QUEUE_FILES_TO=( ${QUEUE_FILES_TO[@]} `/usr/bin/mailq | grep ^[0-9A-F] | awk '{print $1}'` ) for i in ${QUEUE_FILES_TO[@]}; do tmp=`/usr/bin/find ${QUEUE_DIR} -type f -name ${i} -exec grep "recipient=${ENDERECO}" {} \;` if [ ! -z $tmp ] then QUEUE_FILES=( ${QUEUE_FILES[@]} `echo ${i}` ) fi done ;; *) echo "Parametro invalido \"$1\"" echo -e "Usage: $0 [ --from | --to ] 'usuario@provedor.com.br'\n" exit 3 ;; esac QT_MSG=${#QUEUE_FILES[*]} if [ -z $QUEUE_FILES ] then echo -e "Nenhuma mensagem encontrada.\n" exit 1 else echo -e "Removendo ${QT_MSG} mensagens.\nPor favor aguarde..." faltam=${QT_MSG} fi for LOCATOR in ${QUEUE_FILES[@]}; do `/usr/bin/find ${QUEUE_DIR} -type f -name ${LOCATOR} -delete`; let "faltam = ${faltam} - 1" echo -ne "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b" echo -ne "Faltam: " printf "%10d" "${faltam}" done echo '' exit 0
Instalar NetBox (container) em CentOS 7
Screenshot com contagem regressiva e mensagens
sbinstall.sh - Descompacta, compila e instala SlackBuild
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Criar entrada no GRUB para uma ISO Linux (0)
Problema em instalar o PySide6 no Ubuntu 24.04 [RESOLVIDO] (3)
Compartilhando uma ideia sobre computação quantica (16)