Removendo e-mails da fila do queue
Publicado por Gustavo Pardellas Feijó 25/04/2008
[ Hits: 14.661 ]
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
Alterar temas GTK individualmente
easydl - download de arquivos em forma de URLs
ShellBase - Templates Profissionais para o seu Shell Script
Script que recebe parametros e gera um arquivo
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
existe algum hub de jogos online similiar ou igual dos browser (6)
Como botar o efeito de deslocar janelas (win + setas - windows) no lin... (0)
Thinkpads são bons mesmo ?! (3)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (2)









