Postfix - 寫入特定 mailId 內容的日誌並將其刪除

Postfix - 寫入特定 mailId 內容的日誌並將其刪除

我需要編寫一個日誌文件,其中包含郵件佇列中特定郵件 ID 的所有郵件內容。

我編寫了下面的程式碼,將顯示所有郵件 ID。

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

範例:我的主機名為測試網上面的查詢將顯示所有郵件佇列ID[電子郵件受保護]

輸出: 像那樣

295E36A10B7
270986A1407
26F296A1460
9099D6A02F8

但我將嘗試以下查詢來顯示郵件佇列 ID 的內容。那是行不通的。

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

那不起作用。您能提供一個顯示所有郵件內容的想法嗎?

答案1

最後我嘗試了以下解決方案。效果很好。

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

相關內容