From c4a44de048be460b33dc5d4fa0eaa0cba6b01901 Mon Sep 17 00:00:00 2001 From: whirigoyen Date: Fri, 8 Apr 2022 16:15:05 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20commande=20pour=20r=C3=A9cup=C3=A9rer?= =?UTF-8?q?=20les=20IDs=20de=20la=20mailq=20+=20exemples=20+=20=C3=A9largi?= =?UTF-8?q?ssement=20commande=20sed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoPostfix.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/HowtoPostfix.md b/HowtoPostfix.md index ca4fc95b..80d0f3f6 100644 --- a/HowtoPostfix.md +++ b/HowtoPostfix.md @@ -260,16 +260,36 @@ Voici dans quel ordre sont listés les messages : # postcat -vq ~~~ +**Afficher seulement les mails IDs (utile pour les scripts) :** + +~~~ +# mailq | sed -E -n 's/^([[:alnum:]]+)[[:blank:]].*/\1/gp' +~~~ + +Exemple d'usage : + +~~~bash +keyword="blabla" +ids=$(mailq | sed -E -n 's/^([[:alnum:]]+)[[:blank:]].*/\1/gp') +for id in $ids; do + mail_content=$() + if postcat -q $id | grep -q $keyword; then + echo "$id contains $keyword" + # Faire quelque chose (voir la section suivante "Opérations sur la file d'attente") + fi +done +~~~ + **Exclure les mails en cours d'envoi de l'affichage de la file d'attente :** ~~~ -# mailq | sed -r '/[[:alnum:]]{11}\*/,+2d' +# mailq | sed -E '/v[[:alnum:]]+\*[[:blank:]]/,+2d' ~~~ **Compter le nombre d'e-mails par adresse expéditrice dans la `mailq` :** ~~~bash -mailq | awk '$1 ~ /^[0-9A-F]+$/ { a[$NF]++ } END { for (i in a) printf "%d %s\n", a[i], i } | sort -n' +# mailq | awk '$1 ~ /^[0-9A-F]+$/ { a[$NF]++ } END { for (i in a) printf "%d %s\n", a[i], i } | sort -n' ~~~ **Obtenir la liste les expéditeurs triés par ordre croissant du nombre d’e-mails en attente d’envoi :** @@ -382,6 +402,9 @@ Supprimer les mails correspondant à ce type de ligne : ~~~ + + + ### Notifications Postfix envoie des notifications à ajuster avec l'option `notify_classes`.