Re: Удаление писем из очереди

От: Varinov Nicolay <CGatePro_at_mx_ru>
Дата: Thu 14 Mar 2013 - 13:07:50 MSK

День добрый Victor,

Сори предыдущее отправил не дописав.

Thursday, March 14, 2013, 6:45:55 AM, Вы пишете:

VS> Коллеги,

VS> Не встречал ли кто утилиту для удаления писем из очереди CGP, VS> например, по IP адресу отправителя, а лучше по имени аккаунта.

VS> Надо почистить очередь от тысяч писем, отправленных трояном у клиента. VS> Желательно, чтобы работало через CLI без остановки сервера. VS> Заранее спасибо за совет.

Делалось очень давно. но работает.
По отправителю:

#!/usr/bin/perl -w
use CLI;
if (defined($ARGV[0]))
{

 $user = $ARGV[0];
 }
else
{

 printf ("Wrong format\nUse delQ.pl sender_email\n");  exit;
 }
my $cli = new CGP::CLI( { PeerAddr => 'hostname',

                        PeerPort => '106',
                        login    => 'postmaster@hostname',
                        password => 'password'
                        } )
        || die "Can't login to CGPro: ".$CGP::ERR_STRING."\n";
my @TMP = `grep -E -r "P*<$user>" /var/CommuniGate/Queue`; foreach my $i (@TMP)
{

 my $t = '^/var/CommuniGate/Queue/\d\d/(\d+).msg:P.+<'.$user.'>$';  if($i =~ /$t/)
  {
  $cli->RejectQueueMessage($1);
  printf ("#$1\n");
  }
 }
$cli->Logout;

если по получателю поменять grep на
my @TMP = `grep -E -r "R*<$user>" /var/CommuniGate/Queue`; и regexp проверки
my $t = '^/var/CommuniGate/Queue/\d\d/(\d+).msg:R.+<'.$user.'>$'; по IP отправителя
my @TMP = `grep -r '$user' /var/CommuniGate/Queue`; и
my $t = '^/var/CommuniGate/Queue/\d\d/(\d+).msg:S\s+\S+\s+\['.$user.'\]'; по Hello
my @TMP = `grep -r "$user)" /var/CommuniGate/Queue`; и
my $t = '^/var/CommuniGate/Queue/\d\d/(\d+).msg:Received:\s+from.+(HELO\s+'.$user.'\s*)'; по from из заголовков
my @TMP = `grep -r "$user" /var/CommuniGate/Queue`; и
my $t = '^/var/CommuniGate/Queue/\d\d/(\d+).msg:Received:\s+from.+\['.$user.'\]';

Ну и путь до очереди поправить на свой.
У меня разные файлы для каждого варианта.



С наилучшими пожеланиями
Николай Варинов.
тел.+7 4912 951573
mailto:nic@sotcom.ru Получено Thu Mar 14 09:08:01 2013

Этот архив был сгенерирован hypermail 2.1.8 : Thu 14 Mar 2013 - 13:17:12 MSK