Skip to content

Laravel package to send transactional SMSes and emails (mail driver) via Everlytic.

License

Notifications You must be signed in to change notification settings

emotality/laravel-everlytic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Everlytic for Laravel

License Latest Version Total Downloads

Laravel package to send transactional SMSes and emails (mail driver) via Everlytic.

Requirements

  • PHP 8.0+
  • Laravel 9.0+

Installation

  1. composer require emotality/laravel-everlytic
  2. php artisan vendor:publish --provider="Emotality\Everlytic\EverlyticServiceProvider"
  3. Add the following lines to your .env:
EVERLYTIC_URL="https://<everlytic_domain>.everlytic.net"
EVERLYTIC_USERNAME="<everlytic_username>"
EVERLYTIC_PASSWORD="<everlytic_password>"
  1. Add the everlytic block to the mailers array, inside your config/mail.php file:
'mailers' => [
    ...
    'everlytic' => [
        'transport' => 'everlytic',
    ],
],
  1. Update the MAIL_MAILER in 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.