用户活动的垃圾邮件评分

Spam scoring for user's campaigns

我正在开发一个应用程序,该应用程序允许用户建立电子邮件活动以大量分发(当然,遵循所有良好的非垃圾邮件做法)。如果他们输入了关键内容,例如 "Money back guarantee" 或 "free viagra"、所有大写主题行等,我们想在其中放置某种评分系统以获取它们

经过大量研究,将他们的电子邮件内容发送到 SpamAssassin,获得分数,然后 return 将其发送给他们似乎很棒。我可以只编写自己的垃圾邮件检测,但它无法与 SA 竞争。

问题是,我不知道如何使用 php 与 SA 交谈。我不能只给它一些 html 并得到一个数字和一些警告吗?还有其他开源解决方案吗?

可能实施起来太简单了,但可能像这样开始:

<?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 的配置和操作不适合胆小的人。除非您花费了大量的工作来训练它,包括垃圾邮件和非垃圾邮件,否则很难相信它的贝叶斯过滤器……至少对 来说很难。

希望对您有所帮助。