Spam

使用 SpamAssassin 和 sa-learn 處理項目

  • October 21, 2011

我一直在努力讓 SpamAssassin 啟動並執行一段時間,並且非常接近完成。然而,還有最後一件事讓我覺得我似乎無法弄清楚。我搜尋了一下,但找不到一個我認為是決定性的答案,所以我只是想要一點清晰,這樣我晚上就可以睡得更好。

我讀過 SpamAssassin 至少需要 200 條消息,最好是 1000 條才能有效地完成貝氏過濾。通過發出以下命令,我一直在向它發送垃圾郵件(至少我認為):

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 用於其貝氏分析的實際學習量和消息量?

我是否需要將這兩組數字提高到 1,000才能讓 SpamAssassin 真正開始工作,或者我如何知道我什麼時候已經給它提供了足夠的垃圾郵件才能開始正常工作?

您總是需要垃圾郵件火腿樣本。通過只提供垃圾郵件 SpamAssassin 拒絕啟動貝氏垃圾郵件過濾器。

通過發出 aspamassassin -D < /path/to/a/complete.mail您可以檢查是否啟動了貝氏過濾(在整個調試消息中的某個位置)。

希望你沒有用舊的 Spam(幾個月大)訓練 SpamAssassin。只有當您使用過去(個人或作為公司)最近收到的垃圾郵件時,它才會運作良好。如果您現在沒有 Ham 或 Spam 樣本,則最好將 SA 設置為 autolearn。然後隨著時間的推移對過濾器進行訓練。這需要更長的時間,您現在看不到好處,但結果最終會給您留下深刻印象。


是的,您的數字顯示“目前”學習資訊。如果這些數字大於 200,您就完成了。上面的一切只是讓它“更安全”,就像“更有效”或“準確”一樣。通過自動學習,這些數字會隨著時間的推移而增加,也會隨著舊郵件的統計數據的下降而減少。

引用自:https://serverfault.com/questions/323459