PHPackages                             rouxtaccess/laravel-mrmessaging - 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. rouxtaccess/laravel-mrmessaging

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

rouxtaccess/laravel-mrmessaging
===============================

SMS Portal Notification Channel for laravel

1.3.0(2y ago)0559MITPHPPHP &gt;=8.2

Since Apr 17Pushed 2y ago1 watchersCompare

[ Source](https://github.com/RouxtAccess/laravel-mrmessaging)[ Packagist](https://packagist.org/packages/rouxtaccess/laravel-mrmessaging)[ RSS](/packages/rouxtaccess-laravel-mrmessaging/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (5)Versions (9)Used By (0)

Mr Messaging Notification Channel for Laravel
=============================================

[](#mr-messaging-notification-channel-for-laravel)

Version Support
===============

[](#version-support)

Laravel 10+

Installation
============

[](#installation)

Send SMS notifications in Laravel powered by [Mr Messaging](https://www.mrmessaging.net/).

Step 1: Install the package via composer:
-----------------------------------------

[](#step-1-install-the-package-via-composer)

```
composer require rouxtaccess/laravel-mrmessaging
```

The package will automatically register it's service provider and merge it's config

Step 2: Add your Mr Messaging credentials to your `.env` file:
--------------------------------------------------------------

[](#step-2-add-your-mr-messaging-credentials-to-your-env-file)

Required env config: (see advanced Configuration below for more)

```
    MR_MESSAGING_USERNAME=
    MR_MESSAGING_PASSWORD=
    MR_MESSAGING_DELIVERY_ENABLED=true

```

Step 3: Add your routing information to the notifiable model
------------------------------------------------------------

[](#step-3-add-your-routing-information-to-the-notifiable-model)

We support a few ways to route the SMS to the correct number.

The default is to use the `routeNotificationForSms` method on the notifiable model.

This method should return the phone number to send the SMS to.

But if you'd like to specifically configure the phone number for MrMessaging differently, you can also use a method `routeNotificationForMrMessaging` on the notifiable model to override the default `routeNotificationForSms`.

Example:

```
    public function routeNotificationForSms($notification)
    {
        return $this->customer_msisdn;
    }
```

> Note: Mr Messaging takes in a E.164 formatted number without the leading plus. On our side we will strip any + or spaces from the phone number before sending it to MrMessaging

Step 4: Enable the channel for this notification
------------------------------------------------

[](#step-4-enable-the-channel-for-this-notification)

Add `'mrmessaging'` to your notification's `via` method.

```
    public function via(object $notifiable): array
    {
        return ['mail', 'mrmessaging'];
    }
```

Step 5: Format your message
---------------------------

[](#step-5-format-your-message)

Add the `toMrMessaging` method to your notification.

```
   use Illuminate\Notifications\Messages\MrMessagingMessage;

   public function toMrMessaging(object $notifiable): MrMessagingMessage
    {
        return (new MrMessagingMessage)
            ->content('Your SMS message content');
    }
```

Step 6: Send your notification
------------------------------

[](#step-6-send-your-notification)

That's it! Send your notifications and they'll fire over to Mr Messaging.

```
    $user->notify(new YourNotification());
```

Additional Information
======================

[](#additional-information)

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

[](#configuration)

You can publish the config file with:

```
php artisan vendor:publish --provider="Illuminate\Notifications\MrMessagingServiceProvider"
```

or

```
php artisan vendor:publish --tag=laravel-mrmessaging-config
```

You will notice that there are a few additional configuration options in the config file around storing eventIDs

Event Tracking
--------------

[](#event-tracking)

Mr Messaging supports event tracking through a two different mechanisms.

### Option 1: Laravel Notification Events

[](#option-1-laravel-notification-events)

By default, you can always hook into [Laravel's events](https://laravel.com/docs/11.x/notifications#notification-sent-event) to listen for the `NotificationSentEvent` event

We return an array of all the Event ID's that we get from MrMessaging

It is an array, not a string because of multi-part messages (MrMessaging gives us an eventID for each part)

### Option 2: Cache

[](#option-2-cache)

If enable via the config, we will store the eventIDs from all sms messages sent in the cache for a configurable amount of time (defaulting to 24 hours)

This is very useful if you just want a very simple solution to track the eventID until you get a delivery report back from Mr Messaging

License
=======

[](#license)

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

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

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 ~1 days

Total

8

Last Release

741d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/05df7f55b17bf21d30de1313fd78524a6d98586027d91f668e9cdda2d36f02de?d=identicon)[RouxtAccess](/maintainers/RouxtAccess)

---

Top Contributors

[![JohnRoux](https://avatars.githubusercontent.com/u/4610241?v=4)](https://github.com/JohnRoux "JohnRoux (8 commits)")

---

Tags

laravelnotificationsMr Messaging

### Embed Badge

![Health badge](/badges/rouxtaccess-laravel-mrmessaging/health.svg)

```
[![Health](https://phpackages.com/badges/rouxtaccess-laravel-mrmessaging/health.svg)](https://phpackages.com/packages/rouxtaccess-laravel-mrmessaging)
```

###  Alternatives

[benwilkins/laravel-fcm-notification

Laravel FCM (Firebase Cloud Messaging) Notification Channel

210964.1k1](/packages/benwilkins-laravel-fcm-notification)

PHPackages © 2026

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