我正在开发一个应用程序,允许用户构建电子邮件广告系列以进行集中分发(当然,遵循所有良好的非垃圾邮件做法)。如果他们提出关键的东西,我们希望在那里放置某种评分系统,例如"退款保证"或者"免费的伟哥",所有大写主题行等。
经过大量的研究,看起来将他们的电子邮件内容发送到SpamAssassin,获得分数并将其返回给他们会很棒。我可以写自己的垃圾邮件检测,但它无法与SA竞争。
问题是,我无法弄清楚如何使用php与SA交谈。我不能只是把它传递给一些HTML并获得一些数字和一些警告吗?还有其他开源解决方案吗?
答案 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配置和操作并不适合胆小。除非你花了大量的工作训练它,无论是垃圾邮件还是火腿,都很难相信它的贝叶斯过滤器......至少对我很难。
希望这有帮助。