Pour effacer un mail en attente de distribution sous Postfix, il faut utiliser postuser -d.
Mais il n'y a pas d'option pour supprimer plusieurs messages en batch.
D'où ce petit script en shell :
emptymailq.sh :
#!/bin/sh
nbmsg=0
listemsg=`postqueue -p | grep ^[0-9A-Z] | grep -v empty | cut -d\ -f1 | head -1`
while test "$listemsg" != ""
do
echo -n message $listemsg
let $[ nbmsg += 1 ]
postsuper -d $listemsg >/dev/null 2>&1
if test $? -eq 0
then
echo " effacé"
else
echo " non effacé"
fi
listemsg=`postqueue -p | grep ^[0-9A-Z] | grep -v empty | cut -d\ -f1 | head -1`
done
echo $nbmsg message\(s\) effacé\(s\)
# Re: Supprimer les mails en attente dans Postfix
Posté par dlblinux . Évalué à 2.
Et, avec sa version simplifiée en Perl, il ne me reste plus qu'à faire un alias pour le compte administrateur de postfix :
perl -e 'foreach (`postqueue -p`) {`postsuper -d $1` if /^([0-9A-Z]+)/}'
[^] # Re: Supprimer les mails en attente dans Postfix
Posté par kallagan . Évalué à 1.
[^] # Re: Supprimer les mails en attente dans Postfix
Posté par Panda Voyageur (site web personnel, Mastodon) . Évalué à 1.
# Re: Supprimer les mails en attente dans Postfix
Posté par John Balcaen (site web personnel) . Évalué à 1.
http://sbserv.stahl.bau.tu-bs.de/~hildeb/postfix/scripts/delete-fro(...) :)
# postsuper -d ALL
Posté par Laurent GUEDON . Évalué à 2.
# Un programme sympa pour faire ça
Posté par vfari . Évalué à 1.
Supporte Postfix et exim, mode console-ncurses
# A l'aide pour un super novice linux.
Posté par sbouli . Évalué à 1.
J'ai une machine avec postfix (linux Debian). parfois je souhaite faire une purge des mails dans deferred ou active queue mais seulement sur un domaine (genre hotmail.com ou yahoo.fr). Apparemment le bout de code ci-dessus devrais m'y aider mais je ne sais même pas comment l'utiliser sous linux ....
Au secours ...
Merci d'avance.
Stéphane
# A l'aide pour un super novice linux.
Posté par sbouli . Évalué à 1.
J'ai une machine avec postfix (linux Debian). parfois je souhaite faire une purge des mails dans deferred ou active queue mais seulement sur un domaine (genre hotmail.com ou yahoo.fr). Apparemment le bout de code ci-dessus devrais m'y aider mais je ne sais même pas comment l'utiliser sous linux ....
Au secours ...
Merci d'avance.
Stéphane
[^] # Supprimer certains mails en attente dans la queue liste de Postfix
Posté par immobilia . Évalué à 1.
contenant un script qui te conviendra parfaitement pour purger les mails expédié par un domaine.
Je te le colle ici :
#!/bin/sh
todel="du.domaine.com"
nbmsg=0
while test 1
do
liste=`postqueue -p | grep ^[0-9A-Z] | grep -v empty | grep $todel | cut -d \* -f1 | head -1`
if [ -n "$liste" ];
then
echo Message a supprimer $liste
listemsg=`echo $liste | cut -c-11`
postsuper -d $listemsg
else
echo Nombre de message suprime $nbmsg
exit 0
fi
let nbmsg="$nbmsg+1"
done
echo Nombre de message suprime $nbmsg
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.