[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] cgi para borrar queues de qmail



hola lista


para el que se quiera hacer un script para borrar los queues de qmail, aca les mando los cgi que usa el modulo webmin-qmailadmin, espero que les sirva de algo.
saludos


!/usr/bin/perl
# delete_queue.cgi
# Delete a mail messsage from the queue

require './qmail-lib.pl';
&ReadParse();

-r $in{'file'} || &error($text{'delete_egone'});
$in{'file'} =~ /(\d+)\/(\d+)$/;
$id = "$1/$2";
($pid) = &find_byname("qmail-send");
if ($pid && kill(0, $pid)) {
   # Need to stop qmail first
   &kill_logged(TERM, $pid);
   }

unlink("$qmail_mess_dir/$id");
unlink("$qmail_info_dir/$id");
unlink("$qmail_remote_dir/$id");
unlink("$qmail_local_dir/$id");

if ($pid) {
   # Need to re-start qmail
   &system_logged("$qmail_start_cmd >/dev/null 2>&1 </dev/null &");
   }

&redirect("list_queue.cgi");


aca el que borra todos juntos

#!/usr/bin/perl
# delete_queue.cgi
# Delete multiple mail messsages from the queue

require './qmail-lib.pl';
&ReadParse();

($pid) = &find_byname("qmail-send");
if ($pid && kill(0, $pid)) {
   # Need to stop qmail first
   &kill_logged(TERM, $pid);
   }

foreach $f (split(/\0/, $in{'file'})) {
   $f =~ /(\d+)\/(\d+)$/;
   $id = "$1/$2";
   unlink("$qmail_mess_dir/$id");
   unlink("$qmail_info_dir/$id");
   unlink("$qmail_remote_dir/$id");
   unlink("$qmail_local_dir/$id");
   }

if ($pid) {
   # Need to re-start qmail
   &system_logged("$qmail_start_cmd >/dev/null 2>&1 </dev/null &");
   }

&redirect("list_queue.cgi");



Reply to: