Removendo e-mails da fila do queue
Publicado por Gustavo Pardellas Feijó 25/04/2008
[ Hits: 14.513 ]
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
filelist2link - converte lista de pacotes de um repositório em uma lista de links para o wget
Shell script para duplicação de CD's
Script para acionamento de GPIO para Relé Raspberry Pi
Converter vários arquivos PDF com senha para sem senha com o qpdf
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Olha que maravilha, Arch no C2D 7400, 2GB de RAM, vídeo onboard e no G... (0)
Jogos baixados na Central de Aplicativos mas que não abrem (1)
debian com wayland, configuracao de teclado. Mudou Tudo! [RESOLVIDO] (1)