null, $decay_per_month); if ($can_send) { // Check if the user has reached the limit of emails per minute $key_per_minute = 'email-minute:' . user_id(); $limit_per_minute = config('app.throttles.email.minute'); $can_send = RateLimiter::attempt($key_per_minute, $limit_per_minute, fn() => null); } if ($can_send) { $this->dispatch($job); return [ 'success' => true, 'error' => false, 'data' => '', 'message' => '', ]; } event(new TooManyEmailsSent(user_id())); return [ 'success' => false, 'error' => true, 'data' => null, 'message' => 'Too many emails sent!', ]; } }