Weave Code
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
Esendex Notifier

Esendex Notifier Laravel Package

symfony/esendex-notifier

Symfony Notifier bridge for Esendex SMS. Configure via ESENDEX_DSN (email/password, account reference, from) and send SmsMessage notifications. Supports EsendexOptions for per-message settings like accountReference and more.

View on GitHub
Deep Wiki
Context7

Symfony Esendex Notifier Bridge

Frequently asked questions about Esendex Notifier
Can I use symfony/esendex-notifier directly in Laravel without Symfony’s Notifier?
No, this package requires Symfony’s Notifier component as a dependency. You’ll need to install `symfony/notifier` and create a custom Laravel transport adapter to bridge Symfony’s `SmsMessage`/`Email` to Laravel’s `Notification` system. The package itself is not Laravel-native.
How do I configure Esendex in Laravel’s .env file?
Use the DSN format: `ESENDEX_DSN=esendex://EMAIL:PASSWORD@default?accountreference=ACCOUNT_REF&from=FROM`. Store this in `.env`, but note that Symfony’s Notifier must be manually initialized (e.g., via a service provider) to read it, as Laravel’s native config system isn’t directly supported.
Will this work with Laravel’s queue system for async SMS sends?
Yes, but you’ll need to wrap the Symfony Notifier’s send logic in a Laravel job. Use `shouldQueue()` on your notification class and process the `SmsMessage` via the Esendex transport in the job’s `handle()` method. Esendex’s API supports async sends, but Laravel’s queue handles the orchestration.
Does this package support Laravel’s markdown emails or notification channels (e.g., Slack)?
No, this package is SMS-focused and only bridges Symfony’s Notifier to Esendex. For markdown emails or multi-channel support, you’d need to extend Laravel’s native `Notification` system separately or use a different package like `laravel-notification-channels/esendex`.
What Laravel versions are compatible with symfony/esendex-notifier?
The package itself doesn’t enforce Laravel version constraints, but it depends on Symfony’s Notifier (v5.4+). Test with Laravel 8.x/9.x/10.x, but ensure your Symfony Notifier version aligns with Laravel’s PHP version (8.1+). Check the [Symfony Notifier docs](https://symfony.com/doc/current/notifier.html) for details.
How do I handle Esendex webhook callbacks (e.g., delivery status) in Laravel?
This package doesn’t include webhook handling. You’ll need to create a Laravel route/controller to receive Esendex’s webhook payloads (e.g., at `/esendex/webhook`). Use Esendex’s API docs to validate signatures and parse delivery statuses, then dispatch Laravel events or update your database accordingly.
Is there a way to add custom headers or retry logic for failed SMS sends?
Yes, use the `EsendexOptions` class to set per-message options like `accountReference` or custom headers. For retries, wrap the send logic in a Laravel job with exponential backoff or use a queue driver like `database` with `retryAfter` logic. The package itself doesn’t include built-in retry mechanisms.
What are the alternatives to this package for Laravel + Esendex?
Consider `laravel-notification-channels/esendex` (Laravel-native) or Esendex’s [official PHP SDK](https://developers.esendex.com/api-reference#php). The Symfony bridge is useful if you’re already using Symfony Notifier, but for pure Laravel apps, the official SDK or Laravel channel may offer tighter integration with queues, events, and notifications.
How do I test SMS sends in a CI environment without hitting rate limits?
Use Esendex’s sandbox environment (check their docs) or mock the `EsendexTransport` in tests. Replace the real DSN with a test account in your `.env.testing` file. For unit tests, mock Symfony’s `TransportInterface` to avoid actual API calls. Example: `This->partialMock(EsendexTransport::class, ['doSend'])`.
What happens if Esendex changes their API endpoints or authentication method?
The package could break if Esendex modifies their API, as it relies on their undocumented transport layer. Mitigate this by: 1) Subscribing to Esendex’s API changelog, 2) Forking the repo to add feature flags for deprecated endpoints, or 3) falling back to Esendex’s official PHP SDK for critical paths.
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.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views