emotality / laravel-everlytic
Laravel package to send transactional SMSes and emails (mail driver) via Everlytic.
Fund package maintenance!
emotality
Buy Me A Coffee
Installs: 437
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/emotality/laravel-everlytic
Requires
- php: ^8.0
- ext-json: *
- illuminate/http: ^9.0|^10.0|^11.0|^12.0
- illuminate/notifications: ^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
- symfony/mailer: ^6.0|^7.0
Requires (Dev)
- laravel/pint: ^1.15
README
Laravel package to send transactional SMSes and emails (mail driver) via Everlytic.
Requirements
- PHP 8.0+
- Laravel 9.0+
Installation
composer require emotality/laravel-everlyticphp artisan vendor:publish --provider="Emotality\Everlytic\EverlyticServiceProvider"- Add the following lines to your
.env:
EVERLYTIC_URL="https://<everlytic_domain>.everlytic.net"
EVERLYTIC_USERNAME="<everlytic_username>"
EVERLYTIC_PASSWORD="<everlytic_password>"
- Add the
everlyticblock to themailersarray, inside yourconfig/mail.phpfile:
'mailers' => [ ... 'everlytic' => [ 'transport' => 'everlytic', ], ],
- Update the
MAIL_MAILERin your.env:
MAIL_MAILER=everlytic
Usage
Sending an email:
Just send emails like you normally would! 😄
Sending an SMS to a single recipient:
\Everlytic::sms('+27820000001', "1st Line\n2nd Line\n3rd Line");
Response will be a bool, true if successful, false if unsuccessful.
Sending an SMS to multiple recipients:
\Everlytic::smsMany(['+27820000001', '+27820000002'], "1st Line\n2nd Line\n3rd Line");
Response will be an array where the keys are the recipients' numbers, the values will be booleans:
array:2 [â–¼ "+27820000001" => true "+27820000002" => false ]
Sending an email and/or SMS via notification:
namespace App\Notifications; use Emotality\Everlytic\EverlyticSms; use Emotality\Everlytic\EverlyticSmsChannel; use Illuminate\Notifications\Notification; class ExampleNotification extends Notification { // Notification channels public function via($notifiable) { return ['mail', EverlyticSmsChannel::class]; } // Send email public function toMail($notifiable) { return new \App\Mail\ExampleMail($notifiable); } // Send SMS public function toSms($notifiable) // Can also use toEverlytic($notifiable) { // Send SMS to a single recipient return (new EverlyticSms()) ->to($notifiable->mobile) // Assuming $user->mobile ->message("1st Line\n2nd Line\n3rd Line"); // or send SMS to multiple recipients return (new EverlyticSms()) ->toMany(['+27820000001', '+27820000002']) ->message("1st Line\n2nd Line\n3rd Line"); } }
License
laravel-everlytic is released under the MIT license. See LICENSE for details.