将邮件从收件箱移动到垃圾文件夹的算法

时间:2009-10-27 22:13:51

标签: java algorithm email javamail

我想知道像yahoomail或gmail这样的网站如何将我们点击垃圾邮件的邮件移动到垃圾邮件文件夹中。就我而言,贝叶斯分析算法检查消息,如果它是基于内容的垃圾邮件,或其他一些概率。但是这些网站(yahoomail或gmail)使用什么算法来动态地将消息从一个文件夹迁移到另一个文件夹?

3 个答案:

答案 0 :(得分:1)

大多数邮件系统允许插入过滤程序,这些程序用于确定邮件是否为垃圾邮件。 Procmail可能是其中最着名的。基本过程:

  1. 将邮件发送到过滤器程序。
  2. 过滤程序检查垃圾邮件,添加标题和/或主题信息。
  3. 排序程序(procmail等)查找指示垃圾邮件级别的标题/主题信息。如果超过某个阈值,则传递到Spam文件夹。如果没有,请发送到收件箱。
  4. 请注意,procmail和其他类似软件还允许使用 lot 更多功能来自动执行交付和/或过滤任务 - 这是一个相当简单的例子。

答案 1 :(得分:0)

这是一个奇怪的问题,但字面上的答案是,像Google,Yahoo等电子邮件服务提供的方式会有所不同,具体取决于它们如何内部存储邮件和文件夹。例如,如果电子邮件消息存储为单个文件,文件夹表示为目录,则将电子邮件移动到垃圾邮件文件夹将作为文件重命名/移动完成。另一方面,如果邮件存储在SQL数据库中,则将邮件从一个文件夹移动到另一个文件夹将是对(例如)邮件描述符TABLE中的行的更新。

有许多可能的方式来表示电子邮件和文件夹,每个电子邮件服务提供商可能会采用不同的方式,而我们无法知道他们是如何做到的。

我会毫不犹豫地称这个过程为“算法”。当然,没有单一的算法,只要表示不同,文件夹的模型就会有所不同。

我没有看到您的问题与“java”或“javamail”标记之间存在任何关联。很可能是大型提供商没有用Java实现他们的电子邮件服务。

答案 2 :(得分:0)

检查popfile http://getpopfile.org/ 软件允许您按照可以对垃圾邮件进行排序的方式对电子邮件进行分类,但是在多个文件夹中。您只需将电子邮件移动到正确的文件夹中即可开始学习。

一段时间后,它会了解它应该如何对电子邮件进行分类。它使用贝叶斯论坛。