このコマンドは、@example.com
で終わる受信者アドレスに送信されたすべてのメールを削除します
sudo mailq | tail -n +2 | awk 'BEGIN { RS = "" } /@example\.com$/ { print $1 }' | tr -d '*!' | sudo postsuper -d -
ubuntu 12.04 でこの解決策を試しましたが、この方法では機能しません:
sudo mailq | tail +2 | awk 'BEGIN { RS = "" } / @example\.com$/ { print $1 }' | tr -d '*!' | sudo postsuper -d -
この方法に変更する必要があります:
postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } /@example\.com/ { print $1 }' | tr -d '*!' | postsuper -d -
Grep ソリューション
mailq | grep example.com -B1 | grep -oE "^[A-Z0-9]{10,11}" | sudo postsuper -d -
ID は 10 から 11 桁の間であると仮定します (inode に基づく)