在发送给用户之前,需要扫描电子邮件内容以查找垃

时间:2012-04-24 10:27:45

标签: php spam spamassassin

我有一个PHP应用程序,客户端使用它向他们的客户发送电子邮件。有一个页面允许客户端用户构建电子邮件模板以发送给他们的客户。

我想添加一项名为“垃圾邮件检查”的功能。这将允许客户端用户检查他们的电子邮件模板是否通过垃圾邮件过滤器。

我在服务器上安装了spamassassin。在将电子邮件模板发送给客户之前,如何使用它来检查电子邮件模板中的垃圾内容?

1 个答案:

答案 0 :(得分:2)

解决方案1 ​​

您可以使用贝叶斯垃圾邮件过滤器http://en.wikipedia.org/wiki/Bayesian_spam_filtering

背景知识

贝叶斯概率:http://en.wikipedia.org/wiki/Bayesian_probability
贝叶斯推理:http://en.wikipedia.org/wiki/Bayesian_inference

PHP实施此处已多次讨论

Combining individual probabilities in Naive Bayesian spam filtering

解决方案2

由于您的系统上有spamassassin installed,您可以

$fname = tempnam ( "/tmp", "sa" );
file_put_contents ( $fname, $message ); // Put the template in a file
/* Execute the system command and pass the file name to get spam count */
exec ( "/usr/bin/spamc -R < $fname", $score, $rr );
/* This will return score details in array format */
print_r ( $score );

您现在可以操纵垃圾邮件过滤器的分数