![SpamAssassin 似乎並未從轉發的垃圾郵件範例中“學習”](https://rvso.com/image/568230/SpamAssassin%20%E4%BC%BC%E4%B9%8E%E4%B8%A6%E6%9C%AA%E5%BE%9E%E8%BD%89%E7%99%BC%E7%9A%84%E5%9E%83%E5%9C%BE%E9%83%B5%E4%BB%B6%E7%AF%84%E4%BE%8B%E4%B8%AD%E2%80%9C%E5%AD%B8%E7%BF%92%E2%80%9D.png)
我有垃圾郵件陷阱@和火腿陷阱@在我的郵件伺服器上設定的地址並將垃圾郵件範例轉送到垃圾郵件陷阱地址。我希望在幾個範例之後,SpamAssassin 能夠「學習」識別具有共同屬性的垃圾郵件的特定特徵,但事實似乎並非如此 - 它仍然作為普通郵件傳遞。
例如,某些電子郵件來自同一寄件者和/或具有相同的主旨行,儘管多次發送至垃圾郵件陷阱@,剛剛正常交付。
聽起來 SpamAssassin 沒有工作或配置不正確,或者我是否誤解了它工作原理的基本方面?
答案1
Spamassassin 使用許多規則來決定電子郵件是否被阻止,並為每封電子郵件創建一個分數。這通常包含在每封電子郵件的標題中,以便您可以查看觸發了哪些規則。
Spamassassin 訓練改進了貝葉斯垃圾郵件測試,因此如果訓練有效,您應該會看到以下內容
X-Spam-Status: Yes/No, score=X.X required=5.0 tests=BAYES_99...... autolearn=no
BAYES_99 分數表示電子郵件存在垃圾郵件的機率為 99 到 100%,但是您可以獲得 BAYES_00 到 BAYES_99。
如果您在任何電子郵件中都看不到上述行,則 Spamassassin 無法正常運作。
在我的 Virtualmin 設定中,我已更改為有一個垃圾郵件資料夾,我將電子郵件移至其中,然後有一個日常工作運行 Spamassassing 培訓,並在 4 週後刪除電子郵件。
我目前為每個用戶設定了以下腳本:
/usr/bin/sa-learn -u <username> --spam /home/domain/homes/<user>/Maildir/.<folder name>/cur/
/usr/bin/find /home/domain/homes/<user>/Maildir/.<folder name>/cur/ -mtime+28 -exec rm {} \;