【问题标题】:Messed up Exim queue - messages with header file but no data混乱的 Exim 队列 - 带有头文件但没有数据的消息
【发布时间】:2012-03-26 20:35:30
【问题描述】:

我的 Exim 邮件队列中充满了垃圾邮件,因此我运行了一个自定义 grep 命令来搜索包含垃圾邮件术语的假脱机邮件。问题是,我不知道 Exim 将消息分成多个文件(一个用于标头信息,一个用于数据等),因此我的 grep 命令删除了数据文件,同时保留了标头文件。

有谁知道我可以轻松找到并删除队列中具有头文件但没有数据文件的消息的方法?或者其他解决方法?

【问题讨论】:

    标签: linux email exim


    【解决方案1】:

    找到他们:

    exipick '$message_body_missing'
    

    查找并删除它们:

    exipick -i '$message_body_missing' | xargs exim -Mrm
    

    【讨论】:

    • 谢谢,我读过 exipick 很适合这个,但它没有安装在我的 CentOS/cPanel 服务器上,我找不到一个好的安装教程。你能指出我正确的方向吗?
    • 有趣的是,我可以。从 jetmore.org/john/code/exipick 获取它的副本,使其可执行,并更改 $spool 变量以指向您本地站点的 spool(使用 exim -bP | grep spool_directory 查找您的本地 spool)。
    • 哈哈,几率是多少?非常感谢!
    【解决方案2】:

    由于缺少 exipick,

    cd /var/spool/exim/input
    find -name "*-H" -exec sh -c 'H={}; if [ ! -e ${H%-*}-D ]; then rm $H; fi' \;
    

    【讨论】:

    • 永远不要在sh -c 表达式中使用{}:unix.stackexchange.com/a/156010/32931
    • 可以假设 exim 队列中不太可能存在恶意命名的文件,但您的警告确实是合理的。
    猜你喜欢
    • 2018-09-12
    • 2022-10-08
    • 2013-06-07
    • 1970-01-01
    • 2021-09-12
    • 2012-11-03
    • 2012-12-14
    • 2016-03-25
    • 2014-11-17
    相关资源
    最近更新 更多