ZSPAM 是一款郵件打分系統,用於識別垃圾郵件. 最新版本2.5
支持中文簡體,繁體,日文,韓文,越南文,等文字
速度快,在基於dell vostro(notebook)的vmware虛擬機上,單線程每秒處理1000封信件html
在線識別垃圾郵件linux
下載
免費版程序和特徵庫, 最新版2.5
http://pan.baidu.com/s/1hrfROqw數據庫
安裝
建立目錄/opt/zmail/, 進入其中,解開zspam.tgz 便可
(只支持64位Linux系統, debian/ubuntu/centos)ubuntu
特徵庫
下載最新版 const-(version).db.gz, 建議備份
解開獲得 const.db, 移動到 ./var/spamdb/const.dbcentos
服務
啓動/中止/重啓
./bin/master.sh start/stop/reload服務器
/opt/zmail/
系統默認安裝路徑, 全部服務運行時路徑併發
./etc/service/spamd.cf
反垃圾服務程序的配置文件app
./bin/master.sh
啓動/中止/重啓 腳本dom
./bin/spamc
工具,用於 訓練,得分,測試,合併socket
./bin/spamd
反垃圾服務程序
./var/socket/spamd
domain socket, spamd 服務的domain socket
./var/spamdb/reloaddb_event_file
touch ./var/spamdb/reloaddb_event_file 會使spamd從新加載特徵庫文件
./etc/service/milter.cf
libmilter服務器配置文件
./bin/milter
libmilter服務程序
server-command = bin/spamd server-service = spamd://var/socket/spamd # 併發進程數 server-proc-count = 1 server-log = syslog,mail # 每進程併發線程數 spam_concurrency_limit = 0 #特徵庫文件,能夠是多個 #spam_db = var/spamdb/const.db,var/spamdb/const2.db,var/spamdb/const9.db spam_db = var/spamdb/const.db # touch var/spamdb/reloaddb_event_file, 會致使spamd從新加載特徵庫(var/spamdb/const.db) spam_reloaddb_event_file = var/spamdb/reloaddb_event_file
子命令 score, 測試信件得分, 離線
例子: 得到郵件a.eml, b.eml, 和 eml_path1下全部郵件 的得分
./bin/spamc score ./a.db,./b.db,./c.db a.eml b.eml emlpath1
./bin/spamc score ./a.db a.eml b.eml emlpath1
子命令 zscore, 測試信件得分, 在線
例子:得到郵件a.eml, b.eml, 和 eml_path1下全部郵件 的得分
./bin/spamc score ./var/socket/spamd a.eml b.eml emlpath1
./bin/spamc score ./var/socket/spamd a.eml b.eml emlpath1
子命令 ham , 訓練正常信件, 離線
例子: 訓練a.eml, b.eml, c.eml, eml_path1, eml_path2 下全部的郵件爲正常郵件
./bin/spamc ham ./train.db a.eml b.eml eml_path1
./bin/spamc ham ./train.db c.eml em_path2
@提示, train.db 能夠不存在, 程序會自動建立, train.db是bdb格式, 不能用const格式
子命令 spam, 訓練垃圾郵件, 離線
例子: 訓練x.eml, y.eml, z.eml, eml_path8, eml_path9 下全部的例子:郵件爲垃圾郵件
./bin/spamc ham ./train.db x.eml z.eml eml_path9
./bin/spamc ham ./train.db y.eml
./bin/spamc ham ./train.db eml_path8
子命令 merge_db, 合併數據庫, 離線
例子:合併a.db, b.db, c.db 到 train.db
./bin/spamc convert_db a.db train.db
./bin/spamc convert_db b.db train.db./bin/spamc convert_db c.db train.db
子命令 convert_db, 數據庫格式轉換, 離線
例子: 把train.db 轉換爲const.db, const.db是系統自帶的只讀數據庫格式(速度快)
./bin/spamc convert_db const.db train.db
客戶端 鏈接 domain socket 文件 ./var/socket/spamd 客戶端 輸入 score[一個空格]郵件文件路徑\r\n 服務端 返回 OK[一個空格]得分\r\n ERR[一個空格]db\r\n 客戶端 關閉鏈接 或 回到 2
# 所謂 「郵件文件路徑」 形如 /opt/mail/storage/some1.eml
# 系統假設:客戶端提供的任何文件都是郵件且可讀.
# 所謂 「得分」 形如 0.700268,介於0.000000 ~ 1.000000 之間,越接近1.0,是垃圾郵件的可能性越大.
# 根據做者實際經驗,大於0.7的是垃圾郵件,小於0.4爲正常郵件.
本系統支持postfix/sendmail等(libmilter協議)
配置: etc/service/spamd.cf
### 須要啓動milter服務 server-command = bin/milter # server-service = milter://127.0.0.1:25062 # 併發進程數, 能夠啓動多個進程 # 每進程線程數不限 server-proc-count = 1 server-log = syslog,mail # 把反垃圾的結果(得分)追加到指定郵件頭 # 空表示不追加郵件頭 spam_append_header = X-zz-spam # spamd服務器的端口地址 spamd_server = var/socket/spamd #milter郵件臨時存儲目錄, 可讀寫 milter_queue_path = var/milter_queue/
在main.cf添加
smtpd_milters=inet:127.0.0.1:25062
或在在master.cf中合適的smtpd服務下添加
-o smtpd_milters=inet:127.0.0.1:25062
2.5 2019-08 增長特徵分析 2.1 2019-05 行爲特徵分析, 更多特徵 1.12 2017-06 HTML處理, 增長打分機制, 初級圖片處理 0.9 2015-12 多字節文字亂碼識別, 分詞技巧調整, 全新郵件解析庫, 增長特徵詞斷定詞 0.1 2007-10 貝葉斯統計, 中文分詞, 繁體, 日文, 韓文, 正向最大匹配, 郵件解析