Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/404labfr/laravel-mailjet-sms

Send SMS and SMS notifications with Mailjet for Laravel
https://github.com/404labfr/laravel-mailjet-sms

laravel laravel-package mailjet notification sms

Last synced: about 1 month ago
JSON representation

Send SMS and SMS notifications with Mailjet for Laravel

Awesome Lists containing this project

README

        

# Laravel Mailjet SMS

Ce plugin vous permet d'envoyer des SMS et des notifications SMS via [Mailjet](https://www.mailjet.com/sms/) depuis votre application Laravel.
Attention, Mailjet autorise uniquement les SMS transactionnels.

## Sommaire

- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [Notifications](#notifications)
- [Support](#support)
- [Auteur](#auteur)
- [Licence](#licence)

## Requirements

- PHP >= 7.2
- Laravel 6.x or 7.x
- Un compte Mailjet avec un token SMS

### Laravel support

| Version | Release |
|:--------:|:-------:|
| 8, 9, 10 | 2.2 |
| 6, 7 | 2.1 |
| 6 | 2.0 |
| 5.x | 1.0 |

## Installation

- Installation via composer :
```bash
composer require lab404/laravel-mailjet-sms
```

- (Facultatif) Publiez le fichier de config **mailjetsms** :
```bash
php artisan vendor:publish --provider="Lab404\LaravelMailjetSms\ServiceProvider"
```

- Configurez le plugin dans votre `.env` (ou le fichier de config)
```
MAILJETSMS_TOKEN="Votre token Mailjet"
MAILJETSMS_FROM="APPNAME"
```

## Usage

Envoyer un SMS :
```php
// Globalement
app('mailjetsms')->send("Elle est où la poulette ?", "+33610203040");

// DI
public function myMethod(\Lab404\LaravelMailjetSms\MailjetSms $mailjet) {
$mailjet->send("C'est pas faux", "+33610203040");
}
```

## Notifications

Ce plugin est compatible avec les [notifications Laravel](https://laravel.com/docs/9.x/notifications).

```php
namespace App\Notifications;

use Lab404\LaravelMailjetSms\MailjetSmsChannel;
use Lab404\LaravelMailjetSms\MailjetSmsMessage;
use Illuminate\Notifications\Notification;

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

public function toMailjetSms($notifiable)
{
return new MailjetSmsMessage(
"C'est ça que vous appelez une fondue ?",
$notifiable->phonenumber
);
}
}
```

### API

**Lab404\LaravelMailjetSms\MailjetSmsMessage**

```
// Constructeur
(new MailjetSmsMessage(string $message, string $to))

// Spécifier le destinataire
->to(string $to)

// Spécifier l'expéditeur
->from(string $from)

// Nettoyer les caractères unicodes
->unicode(bool $unicode = true)
```

### Un mot sur l'unicode

Par défaut les caractères unicodes sont envoyés dans le SMS. La méthode `unicode(bool $unicode = true)`, permet d'activer ou non l'unicode.
Une fois désactivé, l'unicode sera nettoyé pour ne laisser place qu'aux [caractères GSM 03.38](https://www.etsi.org/deliver/etsi_gts/03/0338/05.00.00_60/gsmts_0338v050000p.pdf).

## Support

N'hésitez pas à utiliser le gestion d'issus pour vos retours.

## Auteur

[Marceau Casals](https://marceau.casals.fr)

## Licence

MIT