Отчистка очереди от нежелательных писем - Qmail

Материал из rrv-wiki
Перейти к навигации Перейти к поиску


Проблемма: в локальной сети появился вирус и за короткие сроки колво писем в очереди достигло 20 тысяч.

Решение: Был написан скрипт удаляющий эти письма из очереди.

#!/usr/bin/perl -w
$fi = `find /home/var/qmail/queue/mess/ -type f`; 
#Здесь /home/var/qmail/queue/mess/ -папка где находятся письма
@file = split(/\n/, $fi);
foreach (@file)
{
 $test = `cat $_ | grep body.zip`;
 #Здесь body.zip - уникальная часть тела письма по которому скрипт будет удалять 
if ($test ne "" ) {
   s%/home/var/qmail/queue/mess/%%;
   #Здесь /home/var/qmail/queue/mess/ -папка где находятся письма
   $tt = `rm /home/var/qmail/queue/*/$_`;
   #Здесь /home/var/qmail/queue/ -папка где находятся очередь
   }
}
exit 0;

Внимание! Перед тем как очищать очередь остановите почту:

/usr/local/bin/qmailctl stop

Очистите очередь с помощью скрипта. А потом запустите:

/usr/local/bin/qmailctl start