web-dev-qa-db-ja.com

特定のユーザー/メールのeximメールキューからすべてのメッセージを削除する方法

キューがスパムメールでいっぱいになった後、eximメールキューから特定のメールアドレスからすべてのメッセージを削除する方法を理解するために、過去1時間を費やしました。

4
Tim Baas

[email protected]からのメッセージをすべて削除します。より詳細な出力を取得するために、eximコマンドに-vを追加できます。

exiqgrep -i -f [email protected] | exim -Mrm

これは、アイテムごとにバウンスメッセージを生成する少し異なる方法で実行できます。これは、侵害されたメールボックスがどれほどの害を与えているかをエンドユーザーに強調します。

exiqgrep -i -f [email protected] | exim -Mg
3
Todd Lyons

次の行を使用して、すべてのメッセージを削除します。

exim -bp | grep [email protected] | sed -r 's/(.{10})(.{16}).*/\2/' | xargs exim -Mrm

次のことを行います。

exim -bp

Eximメールキューを一覧表示します

grep [email protected]

特定のメールアドレスを持つ行のみを選択します

sed -r 's/(.{10})(.{16}).*/\2/'

メールのIDを選択します

xargs exim -Mrm

キューからメッセージを削除します

最適化できると確信しています。最適化できるかどうか、またその方法を教えてください。

4
Tim Baas

Eximキューをクリアするもう1つの方法は、この場合は電子メールの電子メールアドレスになる3番目のフィールドを印刷することです。 grepの電子メールアドレスと一致する結果は、exim -Mrmコマンドによって削除されます。

exim -bp | grep [email protected] | awk {'print $3'} | xargs exim -Mrm

フリーズしたメールをクリアしたい場合は、email @ address.comを「frozen」に置き換えることができます

2
pellepuns