risetechapps / notify-driver-for-laravel
1.3.0
2025-06-05 10:22 UTC
Requires
- php: ^8.1
- illuminate/support: ^9.0|^10.0
- risetechapps/monitoring-for-laravel: ^2.2.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^10.0
README
📌 Sobre o Projeto
O Laravel Notify Driver é um pacote para Laravel que facilita a integração com o serviço Notify, permitindo o envio simplificado de e-mails, SMS e notificações (caso suportadas).
✨ Funcionalidades
- 📧 Envio de e-mails sem burocracia
- 📱 Envio de SMS com facilidade
- 🔔 Suporte a notificações personalizadas via canal
notify
🚀 Instalação
1️⃣ Requisitos
Certifique-se de que seu projeto atende aos seguintes requisitos:
- PHP >= 8.0
- Laravel >= 10
- Composer instalado
2️⃣ Instalação do Pacote
Execute o comando abaixo no terminal:
composer require risetechapps/notify-driver-for-laravel
3️⃣ Configuração
Adicione as credenciais no arquivo config/services.php
:
return [ 'notify' => [ 'key' => env('NOTIFY_KEY', ''), 'from_name' => env('NOTIFY_FROM_NAME', ''), ], ];
Adicione ao seu .env
:
NOTIFY_KEY=seu_token_aqui
NOTIFY_FROM_NAME=NomeDoRemetente
📦 Exemplos de Uso
✉️ Enviando Notificação por E-mail
// app/Notifications/TestNotification.php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Notification; use RiseTechApps\Notify\Contracts\MessageContract; use RiseTechApps\Notify\Message\MessageNotify; class TestNotification extends Notification { use Queueable; public function via(object $notifiable): array { return ['notify']; } public function toNotify($notifiable): MessageContract { return (new MessageNotify($notifiable)) ->notifyEmail() ->subject('Test Notification') ->action('https://globo.com', 'Acessar Link') ->to('usuario@email.com', 'Nome do Usuário') ->line('Esta é uma notificação de teste.') ->subjectMessage('Cabeçalho da Mensagem') ->theme('default') ->content([]) ->send(); } }
Disparando a notificação:
$user->notify(new \App\Notifications\TestNotification());
📦 Exemplos de Uso
✉️ Enviando Notificação por E-mail com anexos
// app/Notifications/TestNotification.php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Notification; use RiseTechApps\Notify\Contracts\MessageContract; use RiseTechApps\Notify\Message\MessageNotify; class TestNotification extends Notification { use Queueable; public function via(object $notifiable): array { return ['notify']; } public function toNotify($notifiable): MessageContract { return (new MessageNotify($notifiable)) ->notifyEmail() ->subject('Test Notification') ->action('https://globo.com', 'Acessar Link') ->to('usuario@email.com', 'Nome do Usuário') ->line('Esta é uma notificação de teste.') ->subjectMessage('Cabeçalho da Mensagem') ->theme('default') ->attachFromUrl($links) ->content([]) ->send(); } }
Disparando a notificação:
$user->notify(new \App\Notifications\TestNotification());
📲 Enviando Token por SMS
// RiseTechApps/AuthService/Notifications/Token/TokenSecuritySMS.php namespace RiseTechApps\AuthService\Notifications\Token; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Notification; use RiseTechApps\Notify\Contracts\MessageContract; use RiseTechApps\Notify\Message\MessageNotify; class TokenSecuritySMS extends Notification implements ShouldQueue { use Queueable; protected string|int $token; public function __construct(string|int $token) { $this->token = $token; } public function via($notifiable): array { return ['notify']; } public function toNotify($notifiable): MessageContract { return (new MessageNotify($notifiable)) ->notifySMS() ->setMessage(__('Use o código para validar sua autenticação: ' . $this->token)) ->send(); } }
Disparando a notificação:
$user->notify(new \RiseTechApps\AuthService\Notifications\Token\TokenSecuritySMS(123456));
🛠 Contribuição
Sinta-se à vontade para contribuir com este projeto:
- Faça um fork do repositório
- Crie uma branch com sua funcionalidade:
feature/nome-da-funcionalidade
- Faça commit das suas alterações
- Envie um Pull Request
📜 Licença
Este projeto é distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
💡 Desenvolvido por Rise Tech