Скрипт очистки почтовой очереди

Версия для печатиОтправить другуPDF version

Случилась незадача... У одного из пользователей почтового сервера "своровали" параметры подключения к почтовому серверу (скорее всего с помощью троянца какого-то). Пользователю была разрешена отправка сообщений через СМТП-авторизацию. Злоумышленники воспользовались этой возможностью и организовали рассылку.

Реквизиты доступа изменены в первую очередь, однако в почтовой очереди сообщений еще тысячи нелегитимных сообщений от этого пользователя. Очищать всю очередь сообщений - не вариант. Так можно и полезных сообщений лишиться. Удалять сообщения по одному - это тоже не вариант. Необходимо поставить это дело "на конвеер". Помочь в этом может следующий скрипт:

#!/bin/sh
 
exim -bp | grep user [at] domain [dot] com |
        (
                while read ID
        do
                        IDGOOD=`echo $ID |awk '{ print $3 }'`
                if [ -n "$IDGOOD" ]; then
                        exim -Mrm $IDGOOD
                 fi
        done
)

где user [at] domain [dot] com - почтовый адрес, от которого выполнялась рассылка.

Медленно, но уверенно скрипт выполняет свое дело. Для ускорения процедуры можно запустить скрипт в несколько потоков, тоесть несколько раз. В таком случае необходимо внести изменения в скрипт и для вывода сообщений воспользоваться командой exim -bpr

 

Голосов пока нет

 Можно проще!   Просто ввести

 Можно проще!

 

Просто ввести команду

 

exiqgrep -i -f  '<spamer [at] mail [dot] ru>'  | xargs exim -Mrm


Пробовал. Но видимо exiqgrep

Пробовал. Но видимо exiqgrep обрабатывает сначала всю очередь, а потом только передает в конвеер результат.

При очереди сообщений в 200 тыс. шт. (за ночь набежало)  ждал хоть каких-то изменений минут десять. Потом плюнул и занялся скриптом.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература