有没有办法让spamassassin更重要地评分邮件正文?

很多垃圾邮件都是通过邮件服务器上的filter来实现的,我使用了一些相对简单的技巧,从最上面几行(非常明显)的减肥或其他骗局文本开始,然后是来自程序devise文档的大量文本- 或者,最糟糕的是, 从Stack Exchange中删除的文本 。 Spamassassin至多认为这是BAYES_50,其余的消息都是小心翼翼地构build的,以至于不会触发其他触发器。 (例如,标题是最小的和正确的。)通常,所包含的摘录与我的合法利益紧密相关,因此总体信息评分为BAYES_00,因为垃圾邮件令牌只是被系统pipe理员问题解决的多汁块所淹没。

最上面的部分显然是垃圾邮件 (事实上​​,与之前接收和训练过的垃圾邮件非常相似),我感到惊讶的是它已经通过 – 但显然是这样。 这似乎是一个单独的通行证,得到了消息的前25(或左右)行,并称重,这将解决问题。 有没有办法做到这一点?


有几个人build议编写自定义正则expression式。 我不想进入这个,因为这是一个不断失败的战斗。 这就是人们在贝叶斯垃圾分类之前所做的事情,而且一般都很糟糕。 没有人能跟上 。 对于每个垃圾邮件来说,这并不比单击删除键更有效,而且我的工作量还有很多。

贝叶斯垃圾邮件过滤工程。 它甚至可以处理这个垃圾邮件,如果我分开了“ 上面的 ”部分,并分析了这个部分,删除了诱饵/谷壳。 问题是:我怎么能得到Spamassassin做到这一点?

我自己是一个(小)生动的反垃圾邮件战斗机。 由于遇到很多问题,多年以前,我自己做了一些肮脏的事情。

现在,这不是对你的问题的答案,而是你的特定问题。 所以请不要因为这个而冷静下来。

我解决这个问题的方法是修改sa_filter-post.pl脚本,由XMail服务器使用,它在电子邮件文件中调用垃圾邮件,并在那里做一些小的事情,不是处理整个文件,而是处理它的特定部分,基于一些特定的规则(由我硬编码)。 是的,正则expression式,但到目前为止,他们为我工作(我有一堆其他脚本之前和之后,这可能会发挥作用)

例如,我有一个正则expression式可以把phonenumbers删除。 垃圾邮件发送者完全离开了,所以直接去处理文件的中间400个字符(我真的从400开始经历了400次尝试,从200开始)。 请注意,与文件内容相比,挑出所看到的内容相当困难。

还有一个与“产品”有相同结构的html表格,一个虚拟头文件和一个不可用的页脚,所以我把这些文件分离出来,然后把“产品”注释列去掉,然后传给spamc。

等等,你得到的照片。

但是并不是所有的规则都是完美的,所以我通过给每个规则分配一个私人分数来做一个小小的魔术,根据规则的行为(有时候我最终会删除所有规则),在需要时对其进行硬编码和调整)。 然后我通过私人分数来修改SA分数。 我这样做的原因是因为某些原因,SA只给出了一些分数,例如,明确规定垃圾邮件,我也有很强烈的感觉来纠正它们。 所以我给了他们一点点提升,超过5.0,加上一些后处理脚本,考虑到其他一些variables(电子邮件的来源,电子邮件的目标,标题的结构等),它或多或less的杀死垃圾邮件出。

现在我意识到这不是你所希望的,但在我的情况下,它给了我很大的权力扫描的东西,只是我需要手动设置,然后每隔一段时间做一点触摸,价值/正则expression式。

但在你的情况下,事情变得容易很多,因为你所要做的只是使用一个简单的bash脚本,这个脚本将被你的MX调用,而不是被spamc调用,并且该脚本使用head命令来获得你想要的任何字节数,将该临时文件传递给spamc。

脚本的内容将取决于您的邮件服务器,但这不应该很难弄清楚。

(请注意,我只是说了很多我的设置,以便您可以看到此选项的可能性)

PS:我个人从来没有收到这种垃圾邮件(与编程相关的好东西),所以我不知道你是否没有生气,现在你是有针对性的。 这将解释特制的电子邮件。 我想这种可能性的原因是多年以前,当我在各种IT论坛和团体中非常活跃的时候,我的确有过一些人,有时候我曾经在我的服务器上发生过各种types的攻击,包括垃圾邮件。 但是当时白痴不是这个聪明:)