在我的 postfix 邮件队列中查找所有包含电子邮件的 PHP 脚本

在我的 postfix 邮件队列中查找所有包含电子邮件的 PHP 脚本

如何找到在我的 postfix 邮件队列中包含邮件的所有脚本?该服务器正在发送垃圾邮件,我已经对其进行了抽查,但我想确保我没有错过任何可能包含的脚本。 PHP 配置为将 X-PHP-Originating-Script 标头放置在每封电子邮件中。如果我可以遍历每封电子邮件以查找所有这些标头,我应该能够找到所有相关脚本。

答案1

这个 oneliner 收集 mailq 输出(我经常将其传输到一个文件,然后针对该文件运行脚本,这样我就可以在对性能影响较小的情况下对其进行调整)。然后,它首先使用 cut 命令来识别正确的字段,然后使用 egrep 来清理它(删除空行、以 * 结尾的不相关 ID 以及以 ( 或 - 开头的行),仅剪切邮件 ID。 xargs 将每个 ID进入 postcat 以输出包括标题的内容,然后我们查找标题,对它们进行排序,以便 uniq 命令正常工作,并使用 uniq 查找每个脚本的一个实例。

mailq |cut -f 1 -d " "|egrep -v "^\(|^$|^-|\*" |xargs postcat -q |grep "X-PHP-Originating-Script"|sort|uniq

相关内容