В очереди, увы, может накапливаться всякая дрянь... Кто-то неправильное
мыло в веб-форме указал, где-то спамеры с несуществующего адреса что-то
прислали. От этого нужно избавляться, желательно по крону.
Настоятельно рекомендую все пути к бинарникам прописать абсолютными --
для верности.
Пользователь от которого запускается скрипт должен быть доверенным для
Exim'а (в общем случае, просто добавте его в группу mail).
По непонятным причинам экзим иногда теряет
тела писем после доставки. В следствие чего, в выводе списка писем
(exim -bp) объем тела не указан.
exiqgrep такое не понимает и падает с подобной ошибкой:
Line mismatch: 4h 1Kg6sa-0454TM-Tu
Лечится так:
exim -bpr | grep "^[0-9][0-9][0-9]d" | awk `{print $2}' | xargs -n 1 -P 20 exim -Mrm
Рекомендую очень хорошо понять, что делает скрипт перед тем как пихать
его в крон. Почта удаляется из очереди навсегда.
#!/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
# Удаляем все баунсы старше 10 минут
exiqgrep -o 600 -if '^<>$' |xargs exim -Mrm
# Удаляем сообщения с адресами начинающимися с подчерка, минуса или вертикальной черты
exiqgrep -f '^<\_|^<\-|^<\|' -i | xargs exim -Mrm
exiqgrep -r '^\_|^\-|^\|' -i | xargs exim -Mrm
#Удаляем сообщения отправленные скриптами на китайские домены старше 10 минут
exiqgrep -f "$domain" -r '.cn$' -o 600 -i | xargs exim -Mrm
# Удаляем любые сообщения отправленные скриптами, если они не доставлись за 12 часов
exiqgrep -f "$domain" -o 43200 -i | xargs exim -Mrm
exit
fi
# В мягком режиме удаляем только frozen баунсы и письма с невозможными адресами в заголовках
exiqgrep -zif '^<>$' |xargs exim -Mrm
exiqgrep -f '^<\_|^<\-|^<\|' -i | xargs exim -Mrm
exiqgrep -r '^\_|^\-|^\|' -i | xargs exim -Mrm
P.S. Взято отсюда. В оригинальной статье еще много полезного.
Комментариев нет:
Отправить комментарий