有人能解释一下为什么 amavis cronjob 突然出现以下错误吗?
Cron <amavis@bee> test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync
rules: failed to run T_SPF_HELO_PERMERROR test, skipping:
(Can't locate object method "check_for_spf_helo_permerror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 19.
)
rules: failed to run T_SPF_TEMPERROR test, skipping:
(Can't locate object method "check_for_spf_temperror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 614.
)
rules: failed to run T_SPF_PERMERROR test, skipping:
(Can't locate object method "check_for_spf_permerror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 784.
)
rules: failed to run T_SPF_HELO_TEMPERROR test, skipping:
(Can't locate object method "check_for_spf_helo_temperror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 1129.
)
我甚至不确定这个 cronjob 是做什么的,但已经运行了 2 周,没有出现问题。在此期间没有进行任何配置更改。
服务器已全新设置,并且运行良好(顺便说一下,现在仍能正常运行。);)
答案1
似乎有些不应该发布到所有更新流中的检查已被发布。参见例如https://unix.stackexchange.com/questions/183763/spamassassin-object-method-location-problems-after-restart了解更多详细信息,但结果是,在错误的规则被撤销后,错误应该会在下次更新后消失。
编辑:是的,这一点已得到一位开发人员的证实。来自(例如)http://www.mail-archive.com/[电子邮件保护]/msg91187.html,日期:2015-02-09:
这是 1 月 30 日提交的一部分, http://www.gossamer-threads.com/lists/spamassassin/commits/190790,如果您没有使用最新的主干以避免警告,则可能需要 has_ 函数进行 can() if 封装。
目前正在制作补丁并修复规则。
第二次编辑: 根据这封电子邮件,问题现已修复:
如果您想确认的话,规则生成刚刚完成,更新确实包含修复。
问候,KAM
我刚刚做了一个sa-update -D && service spamassassin restart
,错误已经消失(在 C6 上运行 SA 3.3.1)。