--- invite.module.orig	2009-04-03 12:47:01.000000000 +1300
+++ invite.module	2009-04-03 12:18:45.000000000 +1300
@@ -909,10 +909,18 @@
         $error = format_plural(count($failed_emails), 'You did already invite the following recipient:', 'You did already invite the following recipients:') .'<br />';
         $error .= implode(', ', array_map('check_plain', $failed_emails));
         drupal_set_message($error, 'error');
       }
 
+      // Check with other modules whether these invitees are otherwise not allowed    
+      $failed_emails = module_invoke_all('invite', 'check invitees', $emails);
+      if (count($failed_emails)) {
+        $error = format_plural(count($failed_emails), check_plain($failed_emails[0]).' can not be invited', 'You cannot invite the following receipients: '.implode(', ', array_map('check_plain', $failed_emails)));
+        drupal_set_message($error, 'error');
+        $emails = array_diff($emails, $failed_emails);
+      }
+
       // Check that there is at least one valid e-mail remaining after filtering
       // out dupes.
       if (count($emails) == 0) {
         form_set_error('email');
         return;
