Removendo e-mails da fila do queue
Publicado por Gustavo Pardellas Feijó 25/04/2008
[ Hits: 14.361 ]
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
Cria usuario no linux e no samba
zwtsc - cliente gráfico para Terminal Service
Jogo campo minado em Shell Script
Script para renomear vários arquivos ao mesmo tempo.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Remoção de propaganda com o programa Comskip[AJUDA] (2)
Linux Lite Demorando Muito Para Ligar (0)
PC não liga no filtro de linha (3)