Retourner aux forums || Retourner au forum Astuces.divers

Astuces.divers : [Terminal] Supprimer les mails en attente dans <i>Postfix</i>

Posté par kallagan () le 19 mars 2004
0
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\)

> Lire le message (9 commentaires, moyenne: 1,2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: Supprimer les mails en attente dans Postfix

Posté par dlblinux () le 23/03/2004 à 14:23. (lien). Évalué à 2.

Très pratique.

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 () le 23/03/2004 à 14:43. (lien). Évalué à 1.

    ah... le perl... quel bonheur.

    • [^]Re: Supprimer les mails en attente dans Postfix

      Posté par Panda Voyageur (page perso, ) le 14/04/2004 à 09:50. (lien). Évalué à 1.

      Clair, c'est beau! Et c'est juste ce qu'il me fallait! Et hop dans les crontabs!

Re: Supprimer les mails en attente dans Postfix

Posté par John Balcaen (page perso, ) le 15/04/2004 à 12:36. (lien). Évalué à 1.

il y a aussi cet outil qui est sympathique :
http://sbserv.stahl.bau.tu-bs.de/~hildeb/postfix/scripts/delete-fro(...) :)

postsuper -d ALL

Posté par Laurent GUEDON (page perso, ) le 08/03/2005 à 16:11. (lien). Évalué à 2.

Pour supprimer tous les messages en attente...

Un programme sympa pour faire ça

Posté par vfari () le 27/08/2005 à 08:11. (lien). Évalué à 1.

http://freshmeat.net/projects/pfqueue/(...)
Supporte Postfix et exim, mode console-ncurses

A l'aide pour un super novice linux.

Posté par sbouli () le 12/04/2007 à 15:53. (lien). Évalué à 1.

Bonjour,

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 () le 13/04/2007 à 07:43. (lien). Évalué à 1.

Bonjour,

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 () le 16/01/2008 à 17:13. (lien). Évalué à 1.

    Regarde le post : Supprimer certains mails en attente dans la queue liste de Postfix http://www.placeoweb.com/dotclear/index.php/2007/07/09/72-supprimer-certains-mails-en-attente-dans-la-queue-liste-de-postfix
    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

Revenir en haut de page || Retourner aux forums || Retourner au forum Astuces.divers