iAkismet is a plugin that integrates the popular anti-spam service Akismet.com with with the following extensions in order to stop spam.

Unlike other anti-spam services, Akismet does not present the visitor with captchas. Instead it scans the visitor's post, name and email address and runs hundreds of tests to determine whether it's spam or not. It's a completely automated way to protect your forms from spammers.

Currently this plugin works with:

  • Joomla User Registration
  • Joomla core Contacts component
  • Contact Enhanced Component 3.3.3+ and 2.5.24+
  • Kunena 3+
  • iFormBuilder 3.3+
  • Ajax Contact 3.3+
  • Ajax Recommend 3.3+
  • iRecommend 3.3+

Access to get a FREE or commercial API key from akismet.com and simply paste it back in the plugin options. Don't forget to enable the plugin and it should already start blocking undesired spam messages and posts.

Demonstration Page

Test iAkismet with a Contact Form

API

If you are a developer and want to integrate this plugin with your extensions follow the instructions below:

Add this code to controller that process your form:

JPluginHelper::importPlugin('system');
$app 	= JFactory::getApplication();
$dispatcher= JDispatcher::getInstance();
$spamCheckData = array();
$spamCheckData['name']    = $name;    // The User's name from teh form
$spamCheckData['email']   = $email;   // The email from the form
$spamCheckData['message'] = $message; // The Message content
// Check with spamCheck plugins
$results	= $dispatcher->trigger('onSpamCheck', array('com_contactenhanced.submit', &$spamCheckData));
// Check for errors encountered while checking for spam
if (count($results) && in_array(false, $results, true))
{
	$error = $dispatcher->getError();
	$app->enqueueMessage($error, 'error');
	// you might need to add a redirection:
	//$app->redirect(JRoute::_('index.php?option=com_yourextension&view=someview', false), $error);
	return false;
}

That's it! ;-) Akismet plugin will take care of the rest.