使用SpamAssassin和sa-learn处理项目

我一直在努力让SpamAssassin运行一段时间,而且已经接近完成了。 然而,最后还有一件事情是我无法想象的。 我已经search了一下,但一直没有find答案,我发现是确凿的,所以我只是想要一点清晰,所以我可以在晚上睡得更好。

我已经读过SpamAssassin需要至less200条消息,最好是1000个做一个贝叶斯过滤的有效工作。 我一直在喂它的垃圾邮件(至less我认为)发出以下命令:

sa-learn --showdots --mbox --spam spamfolder

据我可以告诉它正在处理SpamAssassin。 所以我运行:

sa-learn --dump magic

并获得以下输出:

 bruticus@bruticus:~$ sa-learn --dump magic 0.000 0 3 0 non-token data: bayes db version 0.000 0 306 0 non-token data: nspam 0.000 0 210 0 non-token data: nham 0.000 0 68430 0 non-token data: ntokens 0.000 0 1318421928 0 non-token data: oldest atime 0.000 0 1319141693 0 non-token data: newest atime 0.000 0 1319142287 0 non-token data: last journal sync atime 0.000 0 1319142287 0 non-token data: last expiry atime 0.000 0 0 0 non-token data: last expire atime delta 0.000 0 0 0 non-token data: last expire reduction count 

nspam和nham列中的项目是否表示SpamAssassin用于贝叶斯分析的实际学习量和消息量?

我是否需要将这两组数字上升到1000以上才能让SpamAssassin真正开始工作,或者如何知道何时我已经喂足够的垃圾邮件才能正常工作?

你总是需要垃圾邮件火腿样本。 只通过垃圾邮件SpamAssassin拒绝启动贝叶斯垃圾邮件filter。

通过发出spamassassin -D < /path/to/a/complete.mail ,可以检查是否激活了贝叶斯过滤(在整个debugging消息中的某处)。

希望你没有用旧的垃圾邮件(月龄)训练SpamAssassin。 如果你使用了近期的垃圾邮件(你个人或公司)过去,那么这样做只会起作用。 如果您现在没有火腿或垃圾邮件样本,则应该将SA设置为自动学习。 然后filter随着时间的推移而被训练 这需要更长的时间,你现在看不出有什么好处,但结果最终会让你印象深刻。


是的,你的号码显示“当前”学到的消息。 如果这些数字大于200,你就完成了。 上面的所有内容都使得它更“安全”,如“更有效”或“准确”。 随着自动学习,随着时间的推移,这些数字将随着时间的推移而增加,并随着旧邮件的统计数据的下降而下降。