Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Notifier Laravel Package

symfony/notifier

Symfony Notifier sends notifications through multiple channels like email and SMS, with a flexible, extensible architecture for adding custom transports and integrations.

View on GitHub
Deep Wiki
Context7

Symfony Notifier sends notifications through multiple channels — email, SMS, Slack, and more — using a single, consistent API. It decouples notification delivery from your application logic, letting you define notifications once and route them across transports without rewriting code.

Ideal for user alerts, system events, and multi-channel messaging, it integrates seamlessly with the Symfony ecosystem.

  • Send via email, SMS, chat, push, and browser transports
  • One unified API across all channels
  • Built-in notification channels and transport selection
  • Extensible with custom transports and channels
  • Tight integration with Symfony Framework and DependencyInjection
Frequently asked questions about Notifier
What is symfony/notifier and can I use it in Laravel?
Symfony Notifier is a framework-agnostic component that sends notifications through channels such as email, SMS, chat and browser using one NotifierInterface API. Laravel does not ship an official service provider or facade for it, so integration requires a small custom provider that builds transports from DSNs. It can work well as a transport-gap filler behind your own gateway interface, but it is not a drop-in replacement for Illuminate\Notifications. Treat it as a build-vs-buy decision for providers Laravel does not already cover.
How do I install symfony/notifier in a Laravel application?
Install the core package with Composer plus the individual bridge packages for the channels you need, such as symfony/slack-notifier or symfony/telegram-notifier. Do not install symfony/notifier-bundle in Laravel because it expects FrameworkBundle, the Symfony DI container and YAML configuration. You will then write a Laravel service provider that reads a config/notifier.php DSN map and registers a Transports registry. The core package itself has no Laravel-specific installation steps.
Does Symfony Notifier support Laravel 11 and Laravel 12?
There is no official Laravel version constraint because symfony/notifier is framework-agnostic and lacks a Laravel service provider. Compatibility depends on PHP: the Symfony Notifier 8.x line requires PHP 8.4 or newer, so Laravel 11 or 12 apps on PHP 8.2 or 8.3 should stay on the 7.x line. Many teams use the 7.4 LTS line for current Laravel projects. Plan the 7.x to 8.x move as a deliberate future migration.
Which PHP version do I need for symfony/notifier with Laravel?
For Laravel 11 and 12 applications running PHP 8.2 or 8.3, use the Symfony Notifier 7.x line, preferably 7.4 as the current LTS. The 8.x line requires PHP 8.4 or higher according to the 8.0.0 beta changelog. Check each bridge package separately because some community transports may lag behind. Define your PHP floor before adopting the component.
How do I configure multiple notifier transports with DSNs in Laravel?
Create a config/notifier.php file that maps channel names to DSN strings, then instantiate each transport with Transport::fromDsn() in a service provider. Register the resulting transports in a Transports registry so your application can resolve the right channel by name. This mirrors Symfony's DSN approach without pulling in the Symfony bundle or YAML config. Keep the DSN map environment-driven so credentials are not hard-coded.
Can I use Symfony Notifier alongside Laravel Notifications?
Yes, but keep the boundaries explicit to avoid two competing notification subsystems. A common approach is to keep Illuminate\Notifications as the primary user-facing API and use Symfony Notifier only behind your own NotificationGateway contract for transport gaps. Watch for the class-name collision between Symfony\Component\Notifier\Notification and Laravel's Notification, which can confuse contributors and IDE autocompletion. Also note that Notifier's email channel uses symfony/mailer rather than Laravel's Mailer, creating a second mail path.
How do I queue Symfony Notifier notifications in Laravel?
Symfony Notifier has no native Laravel queue integration; Symfony's Messenger message handler only helps if you adopt symfony/messenger. In Laravel, write a queued job wrapper around NotifierInterface::send() and dispatch it from your application code. You own the retry semantics, backoff and failure handling for that job. Keep the job small and idempotent where possible.
Does symfony/notifier have a Laravel service provider or facade?
No. The package is a read-only split of the Symfony monorepo and ships no Laravel service provider or facade. Integration means writing a provider that instantiates transports from DSNs and registers a registry, which is a few hundred lines rather than a rewrite. Avoid symfony/notifier-bundle because it assumes FrameworkBundle and a parallel Symfony container. You will own this glue code permanently.
What channels and transports does Symfony Notifier support?
The component ships over 100 bridges as separate symfony/*-notifier packages, covering Slack, Telegram, Discord, Twilio, Brevo, Matrix, Bluesky, LINE, Mercure and desktop notifications via JoliNotif, among others. Each bridge is backed by a TransportInterface created from a DSN. This breadth can save roughly 6 to 12 months of provider integration work, but bridge quality varies. Vet the specific transports you need because some are community contributed and have had recent bug fixes.
Is symfony/notifier production-ready and well maintained?
It is MIT licensed and maintained by the Symfony core team with 5.4, 6.4 and 7.4 LTS lines, so bus-factor risk is low. However, this repository is a read-only split: stars and dependent counts are misleading, and issues and pull requests live in the upstream symfony/symfony monorepo. Release notes are often sync releases with no significant changes, so track the monorepo for real risk signals. Production readiness also depends on per-bridge vetting for your chosen channels.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections