- How do I install zing/laravel-sms in a Laravel app?
- Install the package with Composer using composer require zing/laravel-sms, then publish any package configuration if the service provider exposes it. Add the SMS channel to a notification's via method and implement the notifiable's SMS routing method. Check the repository README and config file for the exact publish command and channel class name.
- Which SMS providers or gateways does zing/laravel-sms support?
- The provided context does not list specific gateways, so verify native provider support in the package source and configuration before adopting it. The overview describes a driver-based API for switching providers, but the TPM evaluation flags provider coupling as an open question. Confirm whether your provider has a native driver or whether a generic HTTP driver exists.
- Does zing/laravel-sms work with Laravel notifications and queued delivery?
- Yes, the package is designed as a custom Laravel notification channel, so it integrates with the framework's notification subsystem. You can queue delivery by using Laravel's ShouldQueue notification contract or by dispatching the notification from a queued job. Retry and backoff behavior depends on your queue configuration, so confirm package-specific queue expectations in the source.
- How do I configure SMS gateway credentials for zing/laravel-sms?
- Publish the package configuration and place gateway credentials in environment variables rather than committing secrets to source control. Keep provider-specific settings in the package config file and use your existing secrets management for production. Verify the exact environment key names in the package config and README before deployment.
- Is zing/laravel-sms safe to use in production?
- The package has very low ecosystem validation, with eight stars, zero dependents, and a single-maintainer risk profile noted in the TPM assessment. Treat it as a risk-bearing dependency in the outbound messaging path and pin the version, audit transitive dependencies, and test against a provider sandbox. Start with non-critical internal notifications before enabling OTP or customer-facing flows, and document a fallback provider.
- How do I test SMS sending with zing/laravel-sms in Laravel?
- Use Laravel's Notification::fake to assert that notifications are sent without hitting a real gateway, and use your provider's sandbox or a fake HTTP client to test the channel behavior. Check the package repository for its own test coverage and CI posture before relying on it. Run your application test suite plus provider sandbox tests before approving production use.
- Can I switch SMS providers without rewriting notification code?
- The package is intended to provide a driver-based API so provider changes happen in configuration rather than notification classes. That only works if the target provider has a supported driver, so verify native support or a generic HTTP driver first. For extra safety, wrap the package in your own small SmsSender interface or channel wrapper so it remains swappable.
- What are alternatives to zing/laravel-sms for Laravel SMS notifications?
- Alternatives include Laravel notification channel packages for specific gateways, direct provider SDK calls, or a small custom notification channel in your application. The package offers a clean driver-based API but has little peer evidence of production use. Compare provider support, queue and retry behavior, maintenance activity, and test coverage before choosing.
- Does zing/laravel-sms support delivery receipts, retries, rate limiting, and idempotency?
- The provided context flags these as key questions rather than confirmed features, so verify them in the package source and documentation. Queue retries and backoff can come from Laravel's queue system, but rate limiting and idempotency keys may need application-level implementation. Do not assume delivery receipts are supported until you confirm provider and package behavior.
- How is zing/laravel-sms maintained, and what happens if upstream goes dormant?
- The TPM assessment identifies a single-maintainer bus factor and a very small community, so plan for the possibility that upstream stalls. The MIT license allows you to keep a private fork or patched copy, and you should pin versions and monitor dependency hygiene. Budget roughly 0.1 FTE for compatibility checks and document a fallback to a secondary provider or direct API call.