我不得不编写一个简单的垃圾邮件过滤器,我不确定我将如何去做。
到目前为止,我已经提出了 wordlist 和域过滤,它们将给出或删除达到某个阈值的点。
例如,如果您从列入黑名单的域中撰写有关“v1agr4”的信息,您将获得 2 分的垃圾邮件,但如果您从 hotmail.com 帐户撰写有关“v1agr4”的信息,您将仅获得 1 分“垃圾邮件点”。
你们还有其他建议/资源吗?
这更多是关于学习垃圾邮件过滤器,而不是开发企业级的东西
我不得不编写一个简单的垃圾邮件过滤器,我不确定我将如何去做。
到目前为止,我已经提出了 wordlist 和域过滤,它们将给出或删除达到某个阈值的点。
例如,如果您从列入黑名单的域中撰写有关“v1agr4”的信息,您将获得 2 分的垃圾邮件,但如果您从 hotmail.com 帐户撰写有关“v1agr4”的信息,您将仅获得 1 分“垃圾邮件点”。
你们还有其他建议/资源吗?
这更多是关于学习垃圾邮件过滤器,而不是开发企业级的东西
这里有一些非常好的算法信息:
http://www.paulgraham.com/spam.html
http://www.paulgraham.com/better.html
但是,说真的,为什么要重新发明轮子呢?
只需下载 K9: http: //keir.net/k9.html
查看贝叶斯垃圾邮件过滤。
我知道 perl 有一个库,所以我假设 java 也有一个。
我写了一篇花里胡哨的东西。
您可以将其委托给分布式服务。Akismet是一个非常好的解决方案。
编写垃圾邮件过滤器取决于您对可扩展性的需求。
如果您想要一个可扩展的解决方案,那么内容过滤可能不是明智的选择,因为它非常消耗 CPU 和内存,您宁愿选择基于信誉的过滤或基于黑名单的过滤,这对 CPU 更友好在您的服务器上以及更容易编写。
我在我的博客上写了一篇文章,从程序员的角度解释了编写垃圾邮件过滤器的想法,并涵盖了从基于内容的过滤到基于黑名单的过滤的所有选项。