. */ namespace FireflyIII\Notifications; use Exception; use FireflyIII\Notifications\Notifiables\OwnerNotifiable; use FireflyIII\User; use GuzzleHttp\Exception\ClientException; use Illuminate\Notifications\Notification; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Notification as NotificationFacade; class NotificationSender { public static function send(OwnerNotifiable|User $user, Notification $notification): void { try { NotificationFacade::send($user, $notification); } catch (ClientException $e) { Log::error(sprintf('[a] Error sending notification: %s', $e->getMessage())); } catch (Exception $e) { $message = $e->getMessage(); if (str_contains($message, 'Bcc')) { Log::warning('[Bcc] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); return; } if (str_contains($message, 'RFC 2822')) { Log::warning('[RFC] Could not send notification. Please validate your email settings, use the .env.example file as a guide.'); return; } Log::error($e->getMessage()); Log::error($e->getTraceAsString()); } } }