From: "Varinov Nicolay" Received: by mx.demos.su (CommuniGate Pro PIPE 5.0.14) with PIPE id 548537396; Thu, 14 Mar 2013 13:00:11 +0400 X-Spam-Status: No, hits=-0.5 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2-st1.demos X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 3.3.2-st1.demos (2011-06-06) X-Spam-Report: -0.5 points, 5.0 required; * -0.0 SPF_HELO_PASS SPF: HELO matches SPF record * -0.0 SPF_PASS SPF: sender matches SPF record * -0.5 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] Received: from [80.72.112.10] (HELO mx.sotcom.ru) by mx.demos.su (CommuniGate Pro SMTP 5.0.14) with ESMTP id 548537394 for CGatePro@mx.ru; Thu, 14 Mar 2013 13:00:09 +0400 X-Virus-Scanned: by clamav-cgp on mx.sotcom.ru Received: from [80.72.112.36] (account nic@sotcom.ru HELO [192.168.0.250]) by mx.sotcom.ru (CommuniGate Pro SMTP 5.0.14) with ESMTPSA id 329154316 for CGatePro@mx.ru; Thu, 14 Mar 2013 13:00:04 +0400 Date: Thu, 14 Mar 2013 13:00:03 +0400 Reply-To: Varinov Nicolay X-Priority: 3 (Normal) Message-ID: <429383054.20130314130003@sotcom.ru> To: "CommuniGate Pro Russian Discussions" Subject: =?koi8-r?B?UmU6IFtDR1BdIPXEwczFzsnFINDJ08XNIMnaIM/exdLFxMk=?= In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit День добрый 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.'>$'; ------------------------ С наилучшими пожеланиями Николай Варинов.