zing/laravel-sms
A Laravel SMS package with a clean, driver-based API for sending text messages through multiple gateways. Configure your providers, compose messages, and dispatch SMS from anywhere in your app with minimal setup and consistent syntax—ideal for OTP codes, alerts, and transactional notifications.
Notifiable channel, so the roadmap question shifts from "can we?" to "which events justify per-message cost?"Consider it when:
via() addition per notification class.Look elsewhere when:
To executives: SMS is a proven retention and security channel, and this package lets us add it on top of our existing Laravel notification stack with minimal engineering effort and no licensing cost (MIT). It is a low-risk way to ship OTP and transactional alerts without committing to an enterprise messaging platform. The latest release keeps us current with Laravel 13 and PHP 8.5 and adds China Telecom Cloud as a supported gateway, so it does not constrain our platform upgrade path or our ability to serve regional markets. The trade-off to acknowledge up front: the library is early-stage with limited adoption, so we should treat it as an internal capability we own — budget a small maintenance buffer and keep the gateway abstraction loose so we can swap providers if commercials or reliability change.
To engineering: This package plugs SMS into Laravel's Notification contract, so feature teams keep using notify() and via() rather than learning a new messaging SDK. It keeps provider-specific code out of domain logic, which is where we want the seam. Version 6.7.0 confirms forward compatibility with Laravel 13, PHP 8.5, and PHPUnit 12, and adds a ctyun gateway config — no breaking changes. Caveats: adoption is still negligible and the dependency surface is thin, so plan to pin versions, add integration tests around the channel, and wrap it behind our own notification interface so a swap is a config change, not a refactor.
How can I help you explore Laravel packages today?