Skip to content

Instantly share code, notes, and snippets.

@eignatov
Created January 26, 2016 13:45
Show Gist options
  • Select an option

  • Save eignatov/ded26b223cb86b6b4e29 to your computer and use it in GitHub Desktop.

Select an option

Save eignatov/ded26b223cb86b6b4e29 to your computer and use it in GitHub Desktop.
Clean Exim
#!/bin/bash
# Определяем qualify_domain — он необходим для удаления всяческого мусора
domain=`exim -bP | grep -i "^qualify_domain" | sed -e s/.*\=\ //g`
# Прощаемся со всеми замороженными сообщениями
exim -bpr | grep '<' | awk '{print $2}' | grep '-' | xargs exim -Mrm 2> /dev/null
# при передаче скрипту параметра c, включаем агрессивный режим
if [ "$1" == "c" ]; then
# Удаляем все баунсы старше 20 минут
exiqgrep -o 1200 -if '^<>$' | xargs exim -Mrm
# Сносим все сообщения с адресами начинающихся со спец.символов, таких как нижний подчерк, минус или тире
exiqgrep -f '^<\_|^<\-|^<\|' -i | xargs exim -Mrm
exiqgrep -r '^\_|^\-|^\|' -i | xargs exim -Mrm
#Выкашиваем сообщения отправленные на китайские домены, за последние 20 минут
exiqgrep -f "$domain" -r '.cn$' -o 1200 -i | xargs exim -Mrm
# Удаляем любые сообщения отправленные скриптами, если они зависли в очереди более чем на 24 часов
exiqgrep -f "$domain" -o 86400 -i | xargs exim -Mrm
exit
fi
#В мягком режиме удаляем только frozen баунсы и письма с невозможными адресами в заголовках
exiqgrep -zif '^<>$' | xargs exim -Mrm
exiqgrep -zi | xargs exim -Mrm
exiqgrep -o 86400 -i | xargs exim -Mrm
exiqgrep -f '^<\_|^<\-|^<\|' -i | xargs exim -Mrm
exiqgrep -r '^\_|^\-|^\|' -i | xargs exim -Mrm
#Удаляем сообщения на rediffmail.com
exim -bp | grep r7.com -B 1 | awk '{ print $3 }' | sort | uniq > /tmp/removal.txt
exim -bp | grep rediffmail.com -B 1 | awk '{ print $3 }' | sort | uniq >> /tmp/removal.txt
exim -bp | grep rediff.com -B 1 | awk '{ print $3 }' | sort | uniq >> /tmp/removal.txt
for i in `cat /tmp/removal.txt` ; do exim -Mrm $i ;done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment