Postfix - escreva o log do conteúdo mailId específico e remova-o

Postfix - escreva o log do conteúdo mailId específico e remova-o

Preciso escrever um arquivo de log que conterá todo o conteúdo de correio do ID de correio específico da fila de correio.

Eu escrevi o código abaixo que será mostrado em todos os mailID.

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

exemplo: meu nome de host comoteste.coma consulta acima mostrará o ID da fila de todos os e-mails do[e-mail protegido]

Saída: assim

295E36A10B7
270986A1407
26F296A1460
9099D6A02F8

mas tentarei a seguinte consulta para mostrar o conteúdo do ID da fila de correio. Isso não está funcionando.

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

isso não está funcionando. você poderia dar uma ideia para mostrar todo o conteúdo do e-mail?

Responder1

Finalmente tentei a solução abaixo. Isso está funcionando bem.

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

informação relacionada