Laravel SMS Notification Channel
shafimsp/laravel-sms-notification-channel is a Laravel package for laravel sms notification channel.
It currently has 0 GitHub stars and 105 downloads on Packagist (latest version v1.0.0-alpha07).
Install it with composer require shafimsp/laravel-sms-notification-channel.
Discover more Laravel packages by shafimsp
or browse all Laravel packages to compare alternatives.
Last updated
This package makes it easy to send SMS notifications using different SMS provider with Laravel.
To install the PHP client library using Composer:
composer require shafimsp/laravel-sms-notification-channel
The package will automatically register itself.
You can optionally publish the config file with:
php artisan vendor:publish --provider="Shafimsp\SmsNotificationChannel\SmsServiceProvider" --tag="config"
This is the contents of the published config file:
return [
/*
|--------------------------------------------------------------------------
| The default SMS Driver
|--------------------------------------------------------------------------
|
| The default sms driver to use as a fallback when no driver is specified
| while using the SMS.
|
| Supported: "nexmo", "log", "null"
|
*/
'default' => env('SMS_DRIVER', 'log'),
/*
|--------------------------------------------------------------------------
| Log Channel
|--------------------------------------------------------------------------
|
| If you are using the "log" driver, you may specify the logging channel
| if you prefer to keep mail messages separate from other log entries
| for simpler reading. Otherwise, the default channel will be used.
|
*/
'log_channel' => env('SMS_LOG_CHANNEL'),
];
Set sms channel in via method on notification class
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['sms'];
}
and define a toSms method on the notification class.
/**
* Get the SMS representation of the notification.
*
* @param mixed $notifiable
* @return string
*/
public function toSms()
{
return 'Your message content goes here';
}
Or
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return string
*/
public function toSms()
{
return (new SmsMessage())
->content('Your message goes here');
}
If your SMS message will contain unicode characters, you should call the unicode method when constructing the SmsMessage instance:
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return string
*/
public function toSms()
{
return (new SmsMessage())
->content('Your message goes here')
->unicode();
}
If you would like to send some notifications from a phone number that is different from the phone number specified in your config/services.php file, you may use the from method on a SmsMessage instance:
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return string
*/
public function toSms()
{
return (new SmsMessage())
->content('Your message goes here')
->unicode();
}
When sending notifications via the sms channel, you should define a routeNotificationForSms method on the entity:
/**
* Route notifications for the Nexmo channel.
*
* @param \Illuminate\Notifications\Notification $notification
* @return string
*/
public function routeNotificationForSms($notification)
{
return $this->phone;
}
\Shafimsp\SmsNotificationChannel\Facades\Sms::driver('nexmo')
->content("Message content goes here")
->to('MOBILE_NUMBER_TO_SENT_TO')
->send();
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Laravel SMS Notification Channel is open-sourced software licensed under the MIT license.