Postfix - écrivez le journal du contenu de mailId particulier et supprimez-le


0

J'ai besoin d'écrire un fichier journal qui contiendra tout le contenu du courrier de l'identifiant de courrier particulier de la file d'attente.

J'ai écrit le code ci-dessous qui portera l'ID de tout le courrier.

mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+`hostname`+'$/ { print $1 }'

exemple: mon nom d'hôte en tant que test.com la requête ci-dessus indiquera l'ID de la file d'attente de tous les messages root@test.com

Sortie: comme ça

295E36A10B7
270986A1407
26F296A1460
9099D6A02F8

mais je vais essayer la requête suivante pour montrer le contenu de l'ID mailqueue. Ça ne marche pas.

for i in mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+`hostname`+'$/ { print $1 }' ; do postcat -q $i >> maillog.log; postsuper -d $i; done ; 

ça ne marche pas. Pourriez-vous s'il vous plaît donner une idée pour montrer le contenu de tout le courrier.?

Réponses:


0

Enfin, j'ai essayé la solution ci-dessous. Cela fonctionne bien.

array=($(mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+`hostname`+'$/ { print $1 }'));
for i in ${array[@]}; 
do 
postcat -q $i >> maillog.log;
 postsuper -d $i; 
done
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.