sms.sent, sms.failed) for observability and async workflows (e.g., retries, analytics).SMS::send()) replaces manual provider SDK calls, reducing boilerplate.config/sms.php, centralizing secrets.Mockery or Pest).spatie/laravel-sms) are more active.composer require mr-rijal/laravel-sms.config/sms.php with your provider (e.g., Twilio).SMS::send() calls.SMS facade in unit tests.composer.json for supported Laravel versions (e.g., ^9.0|^10.0).twilio/sdk) are compatible with your PHP version.php artisan vendor:publish --tag=sms-config.TWILIO_SID, TWILIO_TOKEN)..env overrides for different providers in testing/staging.sms.failed events.SMS::debug() or log sms.sent/sms.failed events for troubleshooting.| Failure Scenario | Mitigation Strategy | Impact |
|---|---|---|
| Provider API outage | Fallback to secondary provider or queue retries | Delayed SMS delivery |
| Queue worker crashes | Supervisor/Horizon restarts + dead-letter queue | Temporary delivery delays |
| Invalid phone numbers | Validate numbers via regex/third-party API | Failed jobs, cost for invalid sends |
| Rate limit exceeded | Exponential backoff or queue throttling | Delayed sends |
SMS::send() usage, provider configs, and event listeners.How can I help you explore Laravel packages today?