PHPackages                             sujonmia/laravel-sms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. sujonmia/laravel-sms

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

sujonmia/laravel-sms
====================

Laravel multi-provider SMS package (BulkSMSBD, Twilio, Arena, Elitbuzz)

v2.0.0(8mo ago)135MITPHPPHP &gt;=7.4

Since Aug 27Pushed 5mo agoCompare

[ Source](https://github.com/sujonmia019/smsbd-laravel)[ Packagist](https://packagist.org/packages/sujonmia/laravel-sms)[ RSS](/packages/sujonmia-laravel-sms/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (8)Used By (0)

Laravel Multi-Provider SMS Package
==================================

[](#laravel-multi-provider-sms-package)

A **flexible Laravel SMS package** that supports multiple SMS gateways like **BulkSMSBD**, **Twilio**, **Arena**, and **Elitbuzz**.
It allows sending SMS using a **default sender** or a **custom sender** dynamically per message.

---

Features
--------

[](#features)

- **Multiple SMS Gateway Support**
    Supports bangladeshi and internatonal gateways like **BulkSMSBD**, **Arena**, **Elitbuzz**, and **Twilio**.
- **Centralized Configuration**Manage provider credentials from .env Switch default provider with SMS\_GATEWAY
- **Auto Logging**All SMS requests stored in sms\_logs table
- **Event Driven**`SmsSent` event fired after successful send `SmsFailed` event fired if provider fails
- **Dynamic Sender ID**
    Call `sender()` to set a custom sender per message, overriding the default config.
- **Default Sender Support**
    If `sender()` is not called, the package automatically uses the `sender_id` from the config file.
- **Facade for Clean Syntax**
    Use `SMS::send()` or `SMS::sender()->send()` anywhere in your Laravel app.
- **Extensible Architecture**
    Add new gateways easily by implementing `GatewayInterface` and updating `SMSService`.
- **Consistent API Responses**
    Returns standardized array responses with success or error details.
- **Laravel Config Integration**
    All gateway credentials, URLs, and sender IDs are configurable via `config/laravel-sms.php`.
- **Error Handling**

    Exceptions thrown on missing credentials or failed response.
- **Composer Installable**
    Package can be installed via Composer and integrated seamlessly with Laravel.

Installation
------------

[](#installation)

Require the package via Composer:

```
composer require sujonmia/laravel-sms
```

Configuration
-------------

[](#configuration)

### 1. Register Service Provider &amp; Facade Alias

[](#1-register-service-provider--facade-alias)

Open `config/app.php` and add the provider &amp; alias:

```
'providers' => [
    // Other Service Providers...
    SujonMia\Smsbd\SMSServiceProvider::class,
],

'aliases' => [
    // Other Facades...
    'SMS' => \SujonMia\Smsbd\Facades\SMS::class,
],
```

### 2. Publish Config &amp; Migration

[](#2-publish-config--migration)

```
php artisan vendor:publish --provider="SujonMia\Smsbd\SMSServiceProvider"
php artisan migrate
```

### 3. Add Single Provider or All Provider Environment Variables

[](#3-add-single-provider-or-all-provider-environment-variables)

```
# Default provider
SMS_GATEWAY=arena

# Arena SMS
ARENA_API_KEY=your_api_key
ARENA_ACODE=your_acode
ARENA_SENDER_ID=MYSHOP
ARENA_URL=https://sms.lpeek.com/API/sendSMS

# Elitbuzz
ELITBUZZ_API_KEY=your_api_key
ELITBUZZ_TYPE=text
ELITBUZZ_SENDER_ID=MYSHOP
ELITBUZZ_URL=https://msg.elitbuzz-bd.com/smsapi

# BulkSMSBD
BULKSMSBD_API_KEY=your_api_key
BULKSMSBD_SENDER_ID=MYSHOP
BULKSMSBD_URL=http://bulksmsbd.net/api/smsapi

# Twilio
TWILIO_SID=your_sid
TWILIO_TOKEN=your_token
TWILIO_SENDER_ID=+123456789
```

### 4. Example Usage in Controller

[](#4-example-usage-in-controller)

```
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use SujonMia\Smsbd\Facades\SMS;

class SmsController extends Controller
{
    public function send()
    {
        // Send with default sender (from config)
        SMS::send('017XXXXXXXX', 'Hello from default sender!');

        // Send with custom sender
        SMS::sender('SUJON')->send('017XXXXXXXX', 'Hello from custom sender!');

        // Explicit provider
        SMS::via('arena')->send('8801743776488','Hello via Arena');

        // Another provider
        SMS::via('bulksmsbd')->send('01743776488','Hello via BulkSMSBD');

        // Another provider with custom sender
        SMS::via('bulksmsbd')->sender('SUJON')->send('01743776488','Hello via from custom sender BulkSMSBD');
    }
}
```

### 5. Log &amp; View History

[](#5-log--view-history)

```
use SujonMia\Smsbd\Models\SmsLog;

$logs = SmsLog::where('status', 'sent')->latest()->get();
```

### 6. Example SMS Logs Table

[](#6-example-sms-logs-table)

IDToMessageProviderStatusResponseCreated At1017XXXXXXXXYour OTP is 123456SujonMia\\Smsbd\\Gateways\\TwilioGatewasent{…} JSON Data2025-08-302018XXXXXXXXPromo: 50% OFFSujonMia\\Smsbd\\Gateways\\ArenaGatewafailedError Message2025-08-303016XXXXXXXXYour appointment..SujonMia\\Smsbd\\Gateways\\ElitbuzzGatewasent{…} JSON Data2025-08-303015XXXXXXXXThank you..SujonMia\\Smsbd\\Gateways\\BulkSMSBDGatewafailedError Message2025-08-30License
-------

[](#license)

This package is open-sourced software licensed under the [MIT license](LICENSE).

---

Credits
-------

[](#credits)

- [Sujon](https://github.com/sujonmia019) – Author &amp; Maintainer
- [Laravel](https://laravel.com) – Framework used

---

Contributing
------------

[](#contributing)

Contributions are welcome!
If you’d like to improve this package, please fork the repo and submit a pull request.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance65

Regular maintenance activity

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~16 days

Total

6

Last Release

176d ago

Major Versions

v1.1.2 → v2.0.02025-08-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/3dd97b4e4ee4ab470334b079b045088885ff3745d5894a42c2e5a84cea85b67b?d=identicon)[sujonmia019](/maintainers/sujonmia019)

---

Top Contributors

[![sujonmia019](https://avatars.githubusercontent.com/u/64095365?v=4)](https://github.com/sujonmia019 "sujonmia019 (19 commits)")

---

Tags

laravellaravel-packagesmstwiliobulk-smslaravel-smssms-gatewaySMS Servicebulksmsbdarenaelitbuzzmulti provider smssms package

### Embed Badge

![Health badge](/badges/sujonmia-laravel-sms/health.svg)

```
[![Health](https://phpackages.com/badges/sujonmia-laravel-sms/health.svg)](https://phpackages.com/packages/sujonmia-laravel-sms)
```

###  Alternatives

[tzsk/sms

A robust and unified SMS gateway integration package for Laravel, supporting multiple providers.

320244.3k6](/packages/tzsk-sms)[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.7M12](/packages/laravel-notification-channels-twilio)[simplesoftwareio/simple-sms

Simple-SMS is a package made for Laravel to send/receive (polling/pushing) text messages. Currently supports CalLFire, EZTexting, Email Gateways, FlowRoute, LabsMobile, Mozeo, Nexmo, Plivo, Twilio, and Zenvia

20845.7k5](/packages/simplesoftwareio-simple-sms)[gr8shivam/laravel-sms-api

A modern, flexible Laravel package for integrating any SMS gateway with REST API support

10138.4k](/packages/gr8shivam-laravel-sms-api)[djunehor/laravel-sms

Send SMS from your laravel application

385.3k1](/packages/djunehor-laravel-sms)[prgayman/laravel-sms

Laravel package for sending SMS

124.8k](/packages/prgayman-laravel-sms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
