Page suivante Page précédente Table des matières
6. Annexe 1 : suppression d'un message dans la file d'attente
Voici un petit script en Perl permettant de supprimer un message en attente dans la file. Il est imparfait car il ne gère pas les
CC:.
#! /usr/bin/perl -w # killmail : # usage : killmail id-mail # # supprime de la file d'attente de sendmail le message identifié par # id-mail tel qu'il est affiché par la commande mailq # # # TODO : gérer le problème de la suppression des messages avec CC pour # ne supprimer qu'un message parmi plusieurs. # use strict; use English; my $SPOOL = "/var/spool/mqueue"; # file d'attente if ($EFFECTIVE_USER_ID != (getpwnam("root"))[2]) { print <STDERR>, "Vous devez être root pour exécuter cette commande...\n"; exit(3); } if (!defined($ARGV[0])) { print <STDERR>, "Usage : killmail id-mail (voir mailq)\n"; exit(1); } my $df = "$SPOOL/df$ARGV[0]"; my $qf = "$SPOOL/qf$ARGV[0]"; print ("Etes-vous sur de vouloir supprimer le message $ARGV[0] ? (o/n) : "); if (<STDIN> =~ /[Oo]/) { # oui... unlink($df, $qf); exit(0); } else { print <STDERR>, "Suppression de $ARGV[0] annulée par l'utilisateur\n"; exit(2); }
Page suivante Page précédente Table des matières