HONOR-MILTER 荣耀邮件内容过滤系统
来源:互联网 发布:贝叶斯网络分析软件 编辑:程序博客网 时间:2024/03/28 17:57
Ⅰ 基本介绍
1, honor-spam是一款邮件打分系统,用于识别垃圾邮件.
支持中文简体,繁体,日文,韩文,越南文,等文字.
信件解析快速,精确,兼容度高.强大的中文字符集识别模块.独特的分词系统.高效的反垃圾库系统.
速度快,在基于dell vostro 2420(notebook)的vmware虚拟机上,单线程每秒处理1000封信件.
2, honor-spam不单独发布,随HONOR-MILTER 反垃圾邮件网关 一起发布.
3, 内容过滤服务器./libexec/spamd, 配置文件./etc/service/spamd.cf, 默认服务端口是 127.0.0.1:36160
4, ./spamdb/const.db和./spamdb/train.db是反垃圾库.
- ./spamdb/const.db只读,高速.
- ./spamdb/train.db用于训练(回馈,喂养),速度较慢.
Ⅱ spamdc 工具使用说明
spamdc 是一个在线的反垃圾测试/回馈/调试工具.
$ ./bin/spamdc ./bin/spamdc [ 127.0.0.1:36160 ] test eml_file/eml_dir ./bin/spamdc [ 127.0.0.1:36160 ] good eml_file/eml_dir ./bin/spamdc [ 127.0.0.1:36160 ] bad eml_file/eml_dir ./bin/spamdc [ 127.0.0.1:36160 ] reloaddb
ⓐ test: 测试信件得分
获得邮件 /spam/emls/test/aaa.eml, ./test/ffff/ppp.eml 的得分.
./bin/spamdc test /spam/emls/test/aaa.eml./bin/spamdc test /spam/emls/test/
ⓑ good: 训练正常信件
./bin/spamdc good /spam/emls/test/aaa.eml ./test/ffff/ppp.eml./bin/spamdc good /spam/emls/test/
ⓒ bad: 训练垃圾信件
./bin/spamdc good /spam/emls/test/aaa.eml ./bin/spamdc good ./eml/tmp/
ⓓ reloaddb: 重新加载反垃圾库
./bin/spamdc reloaddb
Ⅲ spamc 工具使用说明
spamc 是一个离线的反垃圾测试/回馈/调试工具.辅助使用者更好的使用内容过滤系统.
$ ./bin/spamc USAGE: ./bin/spamc test db [ db2 [ ...]] eml_file/eml_dir ./bin/spamc good traindb eml_file/eml_dir ./bin/spamc bad traindb eml_file/eml_dir ./bin/spamc merge_db constdb_or_traindb traindb ./bin/spamc convert_db traindb new_constdb
- test/good/bad/merge_db/convert_db 是第一个参数,表明功能.
- constdb 表示一个只读的数据库文件.
- traindb 表示个可写的数据库文件(sqlite3).
- eml_file 表示一个邮件文件.
- eml_dir 表示一个目录,其下(及递归子目录下)的文件为邮件
ⓐ test: 测试信件得分
获得一个目录(/spam/emls/test/)下所有邮件的得分.
./bin/spamc test a.tdb /spam/emls/test/
获得一个目录(/spam/emls/test/)下所有邮件的得分,更多反垃圾库.
./bin/spamc test a.tdb b.tdb c.tdb d.cdb e.cdb... /spam/emls/test/
获得一个邮件的得分,并且给出更详细的得分信息.
./bin/spamc test a.tdb b.tdb c.tdb d.cdb e.cdb... /spam/emls/test/someone.eml
ⓑ good: 训练正常信件
./bin/spamc good a.tdb ./a.eml./bin/spamc good a.tdb /spam/emls/good/
ⓒ bad: 训练垃圾信件
./bin/spamc bad a.tdb ./b.eml./bin/spamc bad a.tdb /spam/emls/bad/
ⓓ merge_db: 合并数据库
把一个反垃圾数据库(既可以是constdb,也可以是traindb),合并到一个traindb.
./bin/spamc merge_db a.cdb dest.tdb./bin/spamc merge_db b.tdb dest.tdb
如果 dest.tdb不存在,会创建一个.
ⓔ convert_db: 数据库格式转换
把一个traindb转换为constdb.因为constdb比traindb快的多得多.
./libexec/spamc convert_db a.tdb a.cdb
a.cdb如果不存在,则创建一个,否则被覆盖.
Ⅳ 通信协议
ⓐ 获取邮件得分和关键字
1. 客户端 连接: 127.0.0.1:361602. 客户端 输入: score[一个空格]邮件文件路径\n3. 服务端 返回: OK 得分 关键字\n4. 客户端 关闭连接 或 回到 2
1, 所谓 "邮件文件路径" 形如 /opt/mail/storage/some1.eml
系统假设:客户端提供的任何文件都是邮件且可读.
2, 所谓 "得分" 形如 0.700268,介于0.000000 ~ 1.000000 之间,越接近1.0,是垃圾邮件的可能性越大.
根据得分,由使用者来最终确定是不是垃圾邮件.
根据作者实际经验,大于0.7的是垃圾邮件,小于0.4为正常邮件.
3, 所谓"关键字",如果得分大于等于antispam_threshold则为"bad spam",否则为"good".
4, 例子: 邮件/opt/mail/storage/u1.eml 的得分
输入: score /opt/mail/storage/u1.eml\n返回: OK 0.212383 good\n
5, 可以通过 ./bin/spamdc 操作, 如
./bin/spamdc test emlfile1
ⓑ 回馈/训练/喂养垃圾邮件
本节说的是如何在线操作. 非在线操作请参考 spamc
1. 客户端连接: 127.0.0.1:361602. 客户端输入: bad[一个空格]邮件文件路径\n3. 服务器返回: OK\n 或 ERR\n4. 客户端关闭连接 或 回到 2
1, 所谓 "邮件文件路径" 形如 /opt/mail/storage/some1.eml
系统假设:客户端提供的任何文件都是邮件且可读.
2, 例子: 训练 邮件/opt/mail/storage/u2.eml 为正常邮件
输入: good /opt/mail/storage/u2.eml\n返回: OK\n 或: ERR\n
3, 例子: 训练 邮件/opt/mail/storage/u3.eml 为垃圾邮件
输入: bad /opt/mail/storage/u3.eml\n返回: OK\n 或: ERR\n
4, 可以通过 ./bin/spamdc 操作, 如
./bin/spamdc bad emlfile1
ⓒ 回馈/训练/喂养正常邮件
训练正常邮件和训练垃圾邮件类似,请参考上节,只不过把上节的关键字bad改为good即可.ⓓ 重新加载反垃圾库
在线更新const.db后,需要重启反垃圾服务器,没必要重启所有服务器.
1. 连接: 127.0.0.1:361602. 输入: reloaddb\n3. 返回: OK\n 或 系统异常,程序退出
可以通过 ./bin/spamdc 操作, 如
./bin/spamdc reloaddb
Ⅴ 维护反垃圾库的一些建议
先说明,本系统即可以实时训练邮件,也可以手动维护.
如果在单机系统且规模较小(如1000邮件用户内),可通过服务端口实时训练,问题不大.
如果在多机环境或规模很大,不建议实时训练,sqlite3的写性能会成为瓶颈.
ⓐ 模型 1 (仅供参考)
1. 下载最新版反垃圾库 命名为:A2. 维护一个文件夹,其中存放较老较固定的邮件(回馈的或收集的正常和垃圾邮件),用spamc训练为反垃圾库 命名为: B 2.0 删除 B 2.1 ./bin/spamc good B somepath1_or_file1 ...... 2.2 ./bin/spamc bad B somepath2_or_file2 ......3. 维护另一个文件夹,其中存放近期添加的邮件(回馈的或收集的正常和垃圾邮件),用spamc训练为反垃圾库 命名为: C 3.0 同 第2条4. 用spamc 合并A B C 为一个新的训练库,命名为: D 4.0 删除 D 4.1 ./bin/spamc merge_db A D 4.2 ./bin/spamc merge_db B D 4.3 ./bin/spamc merge_db C D5. 用spamc 把 D 转换为只读库 E 5.1 ./bin/spamc convert_db D E6. 移动 E 到 ./spamdb/const.db7. 重启系统即可. 或 重新加载反垃圾库.
- HONOR-MILTER 荣耀邮件内容过滤系统
- 5.3.2 Milter与内容过滤
- HONOR-MILTER 反垃圾邮件网关
- MDaemon 邮件内容过滤规则
- Huawei/华为Honor 荣耀(U8860) root教程_方法
- 调用系统邮件 配置邮件内容 发送邮件
- 华为U8660荣耀Honor获取ROOT权限教程 亲测可用
- milter-postfix
- Milter协议
- 基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(4)-包过滤模块和内容过滤模块
- 基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(3)-内容过滤防火墙系统简介
- 四种推荐系统原理介绍(基于内容过滤/协同过滤/关联规则/序列模式)
- Unity3D-调用Android系统邮件发送邮件,或调用系统分享去分享内容
- 荣耀
- 邮件过滤技术
- 邮件过滤技术
- 贝叶斯算法--邮件过滤
- 机器学习--邮件过滤
- Javascript(es2016) import和require用法和区别
- 每次推荐一个----Android Studio中的几个比较重要的快捷键ctrl+shift+i
- 某公司月饼事件说开去
- 分治算法
- 杭电 2011
- HONOR-MILTER 荣耀邮件内容过滤系统
- LeetCode_21
- 数据库的学习记录(一)
- oracle中的伪列 rownum
- OAuth 2.0深入理解
- POJ 1330 Nearest Common Ancestors– LCA (二叉树搜索)
- 归并排序(C++实现)
- realm 性能
- 三级联动选择地区!