edemsky/sms-ru

SMS notifications channel for Laravel 10-12.

Maintainers

Package info

github.com/edemsky/sms-ru

pkg:composer/edemsky/sms-ru

Statistics

Installs: 1 681

Dependents: 0

Suggesters: 0

Stars: 0

v2.0.0 2026-02-03 08:01 UTC

README

Latest Version on Packagist Software License Total Downloads

This package makes it easy to send notifications with Laravel 10-12.

Supported versions:

  • Laravel 10-12
  • PHP 8.1-8.4

Contents

Installation

Install this package with Composer:

composer require edemsky/sms-ru

The service provider gets loaded automatically. Or you can do this manually:

// config/app.php
'providers' => [
    ...
    NotificationChannels\SmsBee\SmsServiceProvider::class,
],

Setting up the SmscRu service

Add your SmscRu login, secret key (hashed password) and default sender name (or phone number) to your config/services.php:

// config/services.php
...
'sms' => [
    'login'  => env('SMS_LOGIN'),
    'secret' => env('SMS_SECRET'),
    'sender' => 'John_Doe',
    'charset' => 'utf-8',
    'extra'  => [
        // any other API parameters
        // 'tinyurl' => 1
    ],
],
...

If you want use other host than sms, you MUST set custom host WITH trailing slash.

// .env
...
SMSCRU_HOST=http://www.sms.kz/
...
// config/services.php
...
'sms' => [
    ...
    'host' => env('SMSCRU_HOST'),
    ...
],
...

Usage

You can use the channel in your via() method inside the notification:

use Illuminate\Notifications\Notification;
use NotificationChannels\SmsBee\SmsMessage;
use NotificationChannels\SmsBee\SmsChannel;

class AccountApproved extends Notification
{
    public function via($notifiable)
    {
        return [SmsChannel::class];
    }

    public function toSms($notifiable)
    {
        return SmsMessage::create("Task #{$notifiable->id} is complete!");
    }
}

In your notifiable model, make sure to include a routeNotificationForSms() method, which returns a phone number or an array of phone numbers.

public function routeNotificationForSms(\Illuminate\Notifications\Notification $notification = null)
{
    return $this->phone;
}

Available methods

from(): Sets the sender's name or phone number.

content(): Set a content of the notification message.

sendAt(): Set a time for scheduling the notification message.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Security

If you discover any security related issues, please email edemsky.m@gmail.com instead of using the issue tracker.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.