karnoweb/sms-sender

A fluent SMS manager for Laravel with multi-driver support and automatic failover.

Maintainers

Package info

github.com/karnoweb/sms-sender

pkg:composer/karnoweb/sms-sender

Statistics

Installs: 44

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.0 2026-06-09 22:42 UTC

This package is auto-updated.

Last update: 2026-06-09 22:43:21 UTC


README

A fluent SMS manager for Laravel with multi-driver support and automatic failover.

PHP Laravel License

โœจ Features

  • ๐Ÿ”— Fluent API โ€” Chainable, readable interface
  • ๐Ÿ”„ Auto Failover โ€” Automatic switch between SMS providers
  • ๐Ÿ“ Logging โ€” Every attempt logged to database
  • ๐Ÿ“Š Delivery Reports โ€” Check message delivery status
  • ๐Ÿ”Œ Extensible โ€” Add custom drivers with a single interface
  • โš™๏ธ Usage Control โ€” Daily/monthly limits per driver
  • ๐Ÿ” OTP/Lookup โ€” Provider-template verification (Kavenegar verify/lookup)

๐Ÿš€ Quick Start

composer require karnoweb/sms-sender:^2.0
php artisan vendor:publish --tag=sms-config
php artisan vendor:publish --tag=sms-migrations
php artisan migrate
use Karnoweb\SmsSender\Facades\Sms;

// Simple message
Sms::message('Hello World')
    ->number('09120000000')
    ->send();

// OTP via provider template (Kavenegar verify/lookup)
Sms::otp(config('sms.lookups.login_otp', 'login'))
    ->inputs(['token' => '1234'])
    ->number('09120000000')
    ->send();

// Multiple recipients
Sms::message('Announcement')
    ->numbers(['09121111111', '09122222222'])
    ->send();

// Check delivery status
$results = Sms::number('09120000000')->checkStatus();

๐Ÿ“– Documentation

Full documentation is available in the docs/ directory.

# Topic
01 Overview
02 Installation
03 Configuration
04 Basic Usage

See CHANGELOG.md for v2.0 breaking changes.

๐Ÿงช Testing

./vendor/bin/phpunit

๐Ÿ“„ License

MIT License. See LICENSE for details.