Php:检查电子邮件内容是否是垃圾邮件

时间:2011-01-15 22:04:24

标签: php spam-prevention

我正在创建一个允许用户发送电子邮件的简报功能。由于那里有恶意的人想要发送垃圾邮件,我希望能够检查并查看创建的邮件是否是垃圾邮件。

我已经看过几种不同的方法,例如尝试垃圾邮件刺客,但是你需要完整的电子邮件,直到以后我才会收到。或者你需要安装一些其他的实用程序,如spamd,但我正在寻找一个php类,这对我来说任何人都知道吗?或者我不得不安装一些执行此操作的命令行应用程序?

理想情况下这样容易:

$spamChecker = new SpamChecker();
$message =  "Free Credit report, blah blah, I am spam! Detect me if you dare!";
if($spamChecker->isSpam($message)) {
    echo "You are a spammer!";
} else {
    echo "you are my friend";
}

3 个答案:

答案 0 :(得分:2)

过滤垃圾邮件的最佳服务可能是Akismet。 Akismet使用非常广泛。它默认包含在Wordpress中。我个人将它用于我自己的网站,如果这给Akismet带来任何可信度。对于各种服务器端语言,它们还有许多预先制作的plugins/scripts

答案 1 :(得分:1)

我会有以下保护线:

1。认证

  • 首先使用例如lightopenid之类的内容对用户进行身份验证。例如,当您使用google作为openid提供商时,您很可能不会成为垃圾邮件发送者,因为他们会对垃圾邮件发送者采取措施。

2。的Akismet / Sblam

  • 像格伦指出的那样你可以使用免费的个人网站的akismet。或者您可以尝试免费使用的sblam

3。验证码

  • 您可以通过验证码备份邮件列表以获得更多保护。

4。授权。

  • 禁止垃圾邮件的openid网址。

答案 2 :(得分:1)

  

垃圾邮件刺客,但您需要完整的电子邮件,直到稍后我才会收到

胡说八道 - 没有什么可以阻止你使用spamassassin来处理任意数据 - 只是没有人愿意记录如何做到这一点。你甚至不必乱用虚头 - 只需通过spamc管道并检查返回码。

然而,您只是成为垃圾邮件制造者的目标,除非您非常谨慎地建立用户的凭据 - 这至少意味着要检查有效的电子邮件地址 - 并且如果他们有有效的电子邮件地址,他们为什么要使用你的服务?