从主题匹配的 mailq 中删除

Dav*_*vid 8 email linux email-server postfix spam

我有一个mailq,它被多封具有相同主题行的电子邮件备份。我想删除 mailq 中与特定主题行匹配的所有电子邮件,这样它们就不会被发送。任何想法如何做到这一点?非常紧急,因为它的垃圾邮件相关。

gvi*_*iew 17

对于典型的 postfix 安装,电子邮件将位于 /var/spool/postfix 中。有几个队列。您想停止 postfix,以便您可以安全地使用 postsuper 删除电子邮件。这个简短的脚本将删除与特定字符串匹配的所有电子邮件。在我们的例子中,我们需要找到数千封都具有相同主题行的电子邮件。

在这种情况下,电子邮件都被推迟了,因为我们的重新邮寄服务由于我们超过了限制而拒绝了它们。

cd /var/spool/postfix/deferred
grep -r -i -l "This was the subject line" ./ | cut -d/ -f3 | postsuper -d -
Run Code Online (Sandbox Code Playgroud)

关于此的一些关键说明:

  • grep -l 返回匹配的文件名,它是匹配消息的 queueid
  • 消息都在不同的子目录中,因此剪切是从前面剥离路径。确保测试您的返回路径以确保您只是获取队列名称
  • postsuper -d - 告诉 postsuper 删除它从标准输入获取的消息。

希望这可以帮助那些找到这个并正在寻找更具体说明的人。


小智 2

Postfix 没有像 exigrep 这样的实用程序,因此您需要 grep 主题的队列文件,然后将队列 id 通过管道传输到 postsuper 来删除它们