1

很久以前,我根据http://wiki.apache.org/spamassassin/SiteWideBayesSetup实现了站点范围的贝叶斯过滤。

我认为它从来没有奏效过,而且我当然发现我的垃圾邮件分数总是负数,BAYES_00这表明根本没有使用贝叶斯。

这是我的local.cf文件中的内容:

bayes_path /etc/mail/spamassassin/bayes/bayes
bayes_file_mode 0777

当我运行时,sa-learn我发现令牌存储在单独的主目录中。

什么是让这个工作的正确方法?

补充问题:如果我能让这个工作,我可以合并各种bayes_tok文件和其他文件吗?

4

1 回答 1

3

如果你得到BAYES_00了结果,那么贝叶斯确实在工作,因为它将电子邮件归类为火腿。一个中性的结果是BAYES_50。您只需要正确训练贝叶斯数据库。

如果sa-learn在您的主目录下创建/更新贝叶斯文件,那么它要么没有读取所需的local.cf文件,要么bayes_path被用户特定的配置文件(例如/root/.spamassassin/user_config)覆盖。

您可以尝试以下方法之一:

  • sa-learn在与执行 spamassassin 相同的用户帐户下运行
  • 指定 sa-learn 的显式路径,即

    sa-learn --dbpath /etc/mail/spamassassin/bayes/bayes
    
  • 使用该-D选项查看实际情况,即正在读取哪些配置文件等。

如果/当你让它工作时,你通常不能组合各种数据库文件。至少有一个bayes_toks和一个bayes_seen文件,因为一个包含学习的令牌,另一个包含电子邮件 Message-Id:s 和相关的培训状态(垃圾邮件/火腿)。bayes_journal如果您使用延迟同步,则可以选择。

sa-learn 的手册页中提供了更多详细信息:
https ://spamassassin.apache.org/full/3.4.x/doc/sa-learn.html

于 2016-09-22T09:03:18.953 回答