针对用户广告系列的垃圾邮件评分

时间:2015-08-25 19:49:20

标签: php email spam-prevention spamassassin

我正在开发一个应用程序,允许用户构建电子邮件广告系列以进行集中分发(当然,遵循所有良好的非垃圾邮件做法)。如果他们提出关键的东西,我们希望在那里放置某种评分系统,例如"退款保证"或者"免费的伟哥",所有大写主题行等。

经过大量的研究,看起来将他们的电子邮件内容发送到SpamAssassin,获得分数并将其返回给他们会很棒。我可以写自己的垃圾邮件检测,但它无法与SA竞争。

问题是,我无法弄清楚如何使用php与SA交谈。我不能只是把它传递给一些HTML并获得一些数字和一些警告吗?还有其他开源解决方案吗?

1 个答案:

答案 0 :(得分:1)

实施过程可能过于简单,但可能是这样的开头:

<?php

$sa_program = "/usr/local/bin/spamassassin"; //your path to the executable
$mail_message = "/tmp/mail_message";         //file on server

exec("$sa_program < $mail_message", $output, $return);

if (!$return) { // "0" is success in 'Nix
    if (strstr(implode("\n",$output),"X-Spam-Flag: YES")) {
       //it's spam, according to SA
    } else {
       //it's not
    }
}

我不知道你是否可以在磁盘上输入字符串变量而不是文件。

另外请记住我没有检查过分数......你也可能想要这样做(“X-Spam-Status:Yes,score = 5.0”---记住“No”作为一个可能的价值)。

请注意,这是一个很棒的工具,但SpamAssassin配置和操作并不适合胆小。除非你花了大量的工作训练它,无论是垃圾邮件还是火腿,都很难相信它的贝叶斯过滤器......至少对很难。

希望这有帮助。