PHPackages                             mihai-valentin/laravel-rabbitmq-notification-channel - 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. mihai-valentin/laravel-rabbitmq-notification-channel

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

mihai-valentin/laravel-rabbitmq-notification-channel
====================================================

Simple Laravel RabbitMQ Notification Channel

v0.0.4(3y ago)11.2k1MITPHPPHP ^8.0

Since Dec 1Pushed 3y ago1 watchersCompare

[ Source](https://github.com/mihai-valentin/laravel-rabbitmq-notification-channel)[ Packagist](https://packagist.org/packages/mihai-valentin/laravel-rabbitmq-notification-channel)[ RSS](/packages/mihai-valentin-laravel-rabbitmq-notification-channel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (8)Versions (5)Used By (0)

Laravel RabbitMQ Notification Channel
=====================================

[](#laravel-rabbitmq-notification-channel)

Simple Laravel RabbitMQ Notification Channel. Imagine you want to send a Laravel notification via rabbitmq. Now you can use this simple package without caring about an individual channel and connections. Just create a message and send via `rabbitmq` channel.

Installation
------------

[](#installation)

Get the package

```
composer require mihai-valentin/laravel-rabbitmq-notification-channel
```

Publish configuration

```
php artisan rabbitmq-notification-channel:publish
```

> Note You can use `--force` option to overwrite existing files

Configuration
-------------

[](#configuration)

To start using the `rabbitmq` channel you have to configure it. There are two ways of configuration using config file and using environment variables.

The config file options:

- `default_queue` - the name of the queue that for messages
- `rabbitmq` - an array of RabbitMQ connection parameters (host, port, user and password)

Alternatively you can set all the config using your `.env` file:

```
RABBITMQ_NOTIFICATION_DEFAULT_QUEUE=queue
RABBITMQ_NOTIFICATION_HOST=localhost
RABBITMQ_NOTIFICATION_PORT=5672
RABBITMQ_NOTIFICATION_USER=guest
RABBITMQ_NOTIFICATION_PASSWORD=guest
```

Instantaneously Start
---------------------

[](#instantaneously-start)

If you have to create a notification from scratch, then just run an artisan command:

```
php artisan make:notification:rabbitmq
```

Then implement the `toRabbitMQ` method. Note that it must return a `LaravelRabbitmqNotificationChannel\Message\Message`implementation.

Quick Start
-----------

[](#quick-start)

1. Add the `LaravelRabbitmqNotificationChannel\RabbitMQNotification` interface to your notification
2. Add `rabbitmq` channel to the notification's via array
3. Implement the `toRabbitMQ` method respecting the `LaravelRabbitmqNotificationChannel\RabbitMQNotification` interface
4. Implement the `LaravelRabbitmqNotificationChannel\Message\Message` interface and use the implementation in the `toRabbitMQ` method
5. Notify your notifiables

Contracts
---------

[](#contracts)

The `LaravelRabbitmqNotificationChannel\RabbitMQNotification` interface represents a generic contract for notifications. It declares how to get a message to send it via the channel. In other words, if you have to send a notification using the `rabbitmq` channel you have to implement this interface.

The `LaravelRabbitmqNotificationChannel\Message\Message` interface is a message abstraction. It declares the way of providing its content. Every message that has to be sent via `rabbitmq` channel must implement it.

The `LaravelRabbitmqNotificationChannel\RabbitMQNotification\Channel` interface represents the rabbitmq notification channel interface. You can use it to implement you own channel.

The `LaravelRabbitmqNotificationChannel\Broker\Publisher` interface represents the RabbitMQ messages publishing contract. You can use it to overwrite default publisher.

The `LaravelRabbitmqNotificationChannel\Mapper\MessageMapper` interface tells about "Message to AMQPMessage" mapping rules. You can also use it to overwrite the default mapper.

RabbitMQ Connection
-------------------

[](#rabbitmq-connection)

The `LaravelRabbitmqNotificationChannel\Broker\RabbitMQConnection` class represents basic RabbitMQ connection abstraction. You can extend it to overwrite the message delivery scenario.

Code of Conduct
---------------

[](#code-of-conduct)

In order to ensure that the community is welcoming to all, please review and abide by the [Code of Conduct](https://github.com/mihai-valentin/laravel-rabbitmq-notification-channel/blob/master/CODE_OF_CONDUCT.md).

Contributing
------------

[](#contributing)

TBD;

License
-------

[](#license)

The MIT License (MIT). Please see [License File](https://github.com/mihai-valentin/laravel-rabbitmq-notification-channel/blob/master/LICENSE.md) for more information.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~38 days

Total

4

Last Release

1144d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c4cdb44f9a31a79e136b45aea096492d5d8696b5e86b437a266566445fbe30fd?d=identicon)[mihai-valentin](/maintainers/mihai-valentin)

---

Top Contributors

[![mihai-valentin](https://avatars.githubusercontent.com/u/30128025?v=4)](https://github.com/mihai-valentin "mihai-valentin (17 commits)")

---

Tags

laravelnotificationrabbitmqlaravelnotificationrabbitmqchannel

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mihai-valentin-laravel-rabbitmq-notification-channel/health.svg)

```
[![Health](https://phpackages.com/badges/mihai-valentin-laravel-rabbitmq-notification-channel/health.svg)](https://phpackages.com/packages/mihai-valentin-laravel-rabbitmq-notification-channel)
```

###  Alternatives

[laravel-notification-channels/telegram

Telegram Notifications Channel for Laravel

1.1k3.4M35](/packages/laravel-notification-channels-telegram)[laravel-notification-channels/discord

Laravel notification driver for Discord.

2371.3M11](/packages/laravel-notification-channels-discord)[mckenziearts/laravel-notify

Flexible flash notifications for Laravel

1.7k1.1M5](/packages/mckenziearts-laravel-notify)[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.7M12](/packages/laravel-notification-channels-twilio)[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[ghanem/laravel-smsmisr

Send SMS and SMS Notification via SMS Misr for Laravel

194.8k](/packages/ghanem-laravel-smsmisr)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
