Skip to content

Easily send Brevo transactional email and sms with Laravel notifier.

License

Notifications You must be signed in to change notification settings

YieldStudio/laravel-brevo-notifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4fa0a6a · Apr 9, 2025

History

25 Commits
Feb 25, 2025
Jul 17, 2024
Jul 17, 2024
Jul 17, 2024
Feb 25, 2025
Jan 24, 2024
Jan 24, 2024
Apr 9, 2025
Jan 24, 2024
Jul 22, 2024
Feb 25, 2025
Jul 17, 2024
Jul 17, 2024

Repository files navigation

Laravel Brevo Notifier Package Logo

Build Status Latest Stable Version Total Downloads License

Easily send Brevo transactional email and sms with Laravel.

Installation

You can install the package via composer:

composer require yieldstudio/laravel-brevo-notifier

Configure

Just define these environment variables:

BREVO_KEY=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=
BREVO_SMS_SENDER=

Make sure that MAIL_FROM_ADDRESS is an authenticated email on Brevo. You can verify by logging in your Brevo account here https://app.brevo.com/senders

BREVO_SMS_SENDER is limited to 11 for alphanumeric characters and 15 for numeric characters.

You can publish the configuration file with:

php artisan vendor:publish --provider="YieldStudio\LaravelBrevoNotifier\BrevoNotifierServiceProvider" --tag="config"

Usage

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

Send email

<?php

namespace App\Notifications;

use Illuminate\Notifications\Notification;
use YieldStudio\LaravelBrevoNotifier\BrevoEmailChannel;
use YieldStudio\LaravelBrevoNotifier\BrevoEmailMessage;

class OrderConfirmation extends Notification
{
    public function via(): array
    {
        return [BrevoEmailChannel::class];
    }

    public function toBrevoEmail($notifiable): BrevoEmailMessage
    {
        return (new BrevoEmailMessage())
            ->templateId(1)
            ->to($notifiable->firstname, $notifiable->email)
            ->params(['order_ref' => 'N°0000001']);
    }
}

Send SMS

<?php

namespace App\Notifications;

use Illuminate\Notifications\Notification;
use YieldStudio\LaravelBrevoNotifier\BrevoSmsChannel;
use YieldStudio\LaravelBrevoNotifier\BrevoSmsMessage;

class OrderConfirmation extends Notification
{
    public function via(): array
    {
        return [BrevoSmsChannel::class];
    }

    public function toBrevoSms($notifiable): BrevoSmsMessage
    {
        return (new BrevoSmsMessage())
            ->from('YIELD')
            ->to('+33626631711')
            ->content('Your order is confirmed.');
    }
}

Unit tests

To run the tests, just run composer install and composer test.

Contact us

Our team at Yield Studio is ready to welcome you and make every interaction an exceptional experience. You can contact us.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you've found a bug regarding security please mail contact@yieldstudio.fr instead of using the issue tracker.

Credits

License

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