如何从 Exim 邮件队列中删除来自特定用户/电子邮件的所有邮件

如何从 Exim 邮件队列中删除来自特定用户/电子邮件的所有邮件

我一直花着一个小时的时间试图弄清楚如何从 exim 邮件队列中删除来自某个邮件地址的所有邮件,因为该队列中充满了垃圾邮件。

答案1

删除来自的所有消息[电子邮件保护]。您可以将 -v 添加到 exim 命令以获得更详细的输出。

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

你可以用稍微不同的方式来做,为每个项目生成一个退回邮件。这向最终用户强调了他们的邮箱被入侵造成了多大的危害:

exiqgrep -i -f [email protected] | xargs exim -Mg

答案2

使用此行删除所有消息:

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

从队列中删除消息

我确信它可以被优化,请告诉我是否可以优化以及如何优化!

答案3

清除 exim 队列的另一种方法是打印第三个字段,在本例中是电子邮件电子邮件地址。任何与 grep 电子邮件地址匹配的结果都将被 exim -Mrm 命令删除。

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

如果你想清除冻结的电子邮件,你可以替换[电子邮件保护]带有“冻结”

相关内容