Removendo e-mails da fila do queue
Publicado por Gustavo Pardellas Feijó 25/04/2008
[ Hits: 13.948 ]
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
Autenticação automática no Velox
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Todo erro sempre gera um acerto... (12)
pacote não instala no void linux (0)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba