PHPackages                             chijioke-ibekwe/raven - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. chijioke-ibekwe/raven

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

chijioke-ibekwe/raven
=====================

Multi-channel Laravel notification sender

v1.0.0(2mo ago)92151MITPHPPHP ^8.1CI passing

Since Jan 30Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/chijioke-ibekwe/raven)[ Packagist](https://packagist.org/packages/chijioke-ibekwe/raven)[ Docs](https://github.com/chijioke-ibekwe/raven)[ RSS](/packages/chijioke-ibekwe-raven/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (28)Versions (22)Used By (0)

  ![Raven logo](./raven_logo.png)

[![Tests](https://github.com/chijioke-ibekwe/raven/actions/workflows/run-tests.yml/badge.svg)](https://github.com/chijioke-ibekwe/raven/actions/workflows/run-tests.yml)[![Latest Version on Packagist](https://camo.githubusercontent.com/c33a15444d946a0474b22f5a552864212d8219672148dc161e017d3a2bcabc8e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6368696a696f6b652d6962656b77652f726176656e2e737667)](https://packagist.org/packages/chijioke-ibekwe/raven)[![Total Downloads](https://camo.githubusercontent.com/d9d532c0d89de108ecaee2faf5f1c541f7be7df51a571640de668f8e6e2be779/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6368696a696f6b652d6962656b77652f726176656e2e737667)](https://packagist.org/packages/chijioke-ibekwe/raven)[![PHP Version](https://camo.githubusercontent.com/7689669db04de035f411757d482f542bb9590ec0ea54a78720ccb7278c2f98f1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6368696a696f6b652d6962656b77652f726176656e2e737667)](https://packagist.org/packages/chijioke-ibekwe/raven)[![GitHub Issues](https://camo.githubusercontent.com/b206b0fc31aa138fa71136c51df592f135b7e37fd9ff5e2c19bf6c29403b0480/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6368696a696f6b652d6962656b77652f726176656e2e737667)](https://github.com/chijioke-ibekwe/raven/issues)[![GitHub Pull Requests](https://camo.githubusercontent.com/9a1dc0ccebb018ccd972a9c35afa6c7033104de79900326122a09dda1f976d17/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6368696a696f6b652d6962656b77652f726176656e2e737667)](https://github.com/chijioke-ibekwe/raven/pulls)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](/LICENSE)

---

 Multi-channel Laravel notification package

📝 Table of Contents
-------------------

[](#-table-of-contents)

- [About](#about)
- [Getting Started](#getting_started)
- [Usage](#usage)
- [Built Using](#built_using)
- [Authors](#authors)

🧐 About
-----------------------------------------

[](#-about-)

Raven is a config-driven, multi-channel notification package for Laravel. Define your notification contexts — channels and templates — in a config file, and dispatch them with a single line. No notification classes to write.

- **Multi-channel** — Email (SendGrid, Amazon SES, Postmark, Mailgun), SMS (Vonage, Twilio), and database/in-app notifications through one interface.
- **Channel isolation** — each recipient on each channel is dispatched as an independent queued job, so a failure in one doesn't block the others.
- **Provider-agnostic** — swap providers (e.g. Vonage to Twilio) by changing an env var. No code changes.
- **Dispatch control** — sync, delayed, and after-commit dispatch modes via the Scroll API.
- **Encrypted payloads** — optionally encrypt queued notification payloads at rest.
- **Observability** — `RavenNotificationSent` and `RavenNotificationFailed` events fired after each delivery attempt, per recipient.
- **Artisan scaffolding** — `php artisan raven:make-context` to interactively generate notification contexts and template files.

🏁 Getting Started
-------------------------------------------------------------

[](#-getting-started-)

### Prerequisites

[](#prerequisites)

To use this package, you need the following requirements:

1. PHP &gt;= v8.1
2. Laravel &gt;= v10.0 (v10, v11, v12, v13)
3. Composer

🎈 Usage
-----------------------------------------

[](#-usage-)

1. You can install this package via Composer using the command:

    ```
     composer require chijioke-ibekwe/raven
    ```
2. Next, publish the config files:

    ```
    php artisan vendor:publish --provider="ChijiokeIbekwe\Raven\RavenServiceProvider" --tag=raven-config
    php artisan vendor:publish --provider="ChijiokeIbekwe\Raven\RavenServiceProvider" --tag=raven-contexts
    ```
3. Two config files will be published to your config directory `./config`:

    - `raven.php` — the main package configuration
    - `notification-contexts.php` — where you define your notification contexts (see step 4)

    The content of `raven.php` is as shown below:

    ```
