[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: