RainLab\User\Models\MailBlocker::filterMessage PHP Méthode

filterMessage() public static méthode

If no recipients remain, false is returned. Returns null if mailing should proceed.
public static filterMessage ( string $template, Illuminate\Mail\Message $message ) : boolean | null
$template string
$message Illuminate\Mail\Message
Résultat boolean | null
    public static function filterMessage($template, $message)
    {
        $recipients = $message->getTo();
        $blockedAddresses = static::checkForEmail($template, $recipients);
        if (!count($blockedAddresses)) {
            return null;
        }
        foreach ($recipients as $address => $name) {
            if (in_array($address, $blockedAddresses)) {
                unset($recipients[$address]);
            }
        }
        $message->setTo($recipients);
        return count($recipients) ? null : false;
    }

Usage Example

Exemple #1
0
 public function register()
 {
     $alias = AliasLoader::getInstance();
     $alias->alias('Auth', 'RainLab\\User\\Facades\\Auth');
     App::singleton('user.auth', function () {
         return \RainLab\User\Classes\AuthManager::instance();
     });
     /*
      * Apply user-based mail blocking 
      */
     Event::listen('mailer.prepareSend', function ($mailer, $view, $message) {
         return MailBlocker::filterMessage($view, $message);
     });
 }