PHPackages                             mortezamasumi/fb-message - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. mortezamasumi/fb-message

ActiveLibrary[Queues &amp; Workers](/categories/queues)

mortezamasumi/fb-message
========================

Internal messaging and mailbox toolkit for Filament v5 — inbox, sent, archived and trash folders with reply and forward support.

v5.1.0(2w ago)01931MITPHPPHP ^8.3CI passing

Since Aug 7Pushed 2w agoCompare

[ Source](https://github.com/mortezamasumi/fb-message)[ Packagist](https://packagist.org/packages/mortezamasumi/fb-message)[ Docs](https://github.com/mortezamasumi/fb-message)[ RSS](/packages/mortezamasumi-fb-message/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (41)Versions (36)Used By (1)

FB Message — Filament Internal Messaging
========================================

[](#fb-message--filament-internal-messaging)

[![Latest Version on Packagist](https://camo.githubusercontent.com/c9ba84925df38b35647bc0003a04c31110ca8b3c641329745efe677465e374cb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f7274657a616d6173756d692f66622d6d6573736167652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mortezamasumi/fb-message)[![GitHub Tests Action Status](https://camo.githubusercontent.com/9d1ede5499ca0652bbc5cfed85792d79f4581637ed86da98eef0ab60a47b2301/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6f7274657a616d6173756d692f66622d6d6573736167652f63692e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/mortezamasumi/fb-message/actions?query=branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/a429518faacc3eab81b89b9d7958657a5a6085e00cd9f94b01ec76937e2e1619/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f7274657a616d6173756d692f66622d6d6573736167652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mortezamasumi/fb-message)[![License](https://camo.githubusercontent.com/5b20177150fa5274ad561c9e2428046eb7c0571559e1370f8e81aaaebd7b4c47/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f7274657a616d6173756d692f66622d6d6573736167652e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)

An internal messaging and mailbox toolkit for Filament v5. Users can send messages with attachments, manage them across inbox, sent, archived, and trash folders, reply to and forward received messages, and get notified in the panel when a new message arrives.

---

Features
--------

[](#features)

- **Folders** — inbox, sent, archived, and trash tabs with per-user counts
- **Reply &amp; forward** — respond to or forward a message with the original recipients pre-filled
- **Read tracking** — unread badge on the inbox tab and the navigation item
- **Attachments** — multiple PDF, image, audio, and video files with configurable disk, size, and count limits
- **Database notifications** — recipients are notified in the panel with a link to the message
- **Filament Shield integration** — `view`, `create`, `reply`, `forward`, `archive`, `trash`, and `delete` permissions
- **Localized** — English and Persian (Farsi) translations, Jalali date display via fb-essentials

---

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

[](#installation)

```
composer require mortezamasumi/fb-message
```

Publish and run the migrations:

```
php artisan vendor:publish --tag="fb-message-migrations"
php artisan migrate
```

Publish the config file:

```
php artisan vendor:publish --tag="fb-message-config"
```

---

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

[](#configuration)

```
// config/fb-message.php
return [
    'navigation' => [
        'model_label' => 'fb-message::fb-message.navigation.label',
        'plural_model_label' => 'fb-message::fb-message.navigation.plural_label',
        'group' => null,
        'parent_item' => null,
        'icon' => 'heroicon-o-envelope',
        'active_icon' => 'heroicon-s-envelope',
        'badge' => false,
        'badge_tooltip' => null,
        'sort' => 9999,
    ],
    'max_attachments' => env('MESSAGE_MAX_ATTACHMENTS', 5),
    'max_attachment_size' => env('MESSAGE_MAX_ATTACHMENT_SIZE', 8000),
    'attachment_disk' => env('MESSAGE_ATTACHMENT_DISK', 'public'),
    'attachment_folder' => env('MESSAGE_ATTACHMENT_FOLDER', '/uploads/attachments'),
    'attachment_visibility' => env('MESSAGE_ATTACHMENT_VISIBILITY', 'public'),
];
```

---

Usage
-----

[](#usage)

### Register the plugin in a panel

[](#register-the-plugin-in-a-panel)

```
use Mortezamasumi\FbMessage\FbMessagePlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugin(FbMessagePlugin::make());
}
```

### Recipient scope

[](#recipient-scope)

Your user model should define a `messageTo` scope to control which users can be selected as recipients. Return `$query` to allow all users:

```
use Illuminate\Database\Eloquent\Builder;

public function scopeMessageTo(Builder $query): Builder
{
    return $query;
}
```

### Managing messages programmatically

[](#managing-messages-programmatically)

```
use Mortezamasumi\FbMessage\Facades\FbMessage;

FbMessage::markAsRead($message);   // mark as read for the current user
FbMessage::archive($message);      // move to the archived folder
FbMessage::unarchive($message);    // restore to inbox / sent
FbMessage::trash($message);        // move to the trash folder
FbMessage::restore($message);      // restore from trash
FbMessage::forget($message);       // detach the current user and delete when nobody references it
```

---

Support policy
--------------

[](#support-policy)

PHPLaravelFilament8.3125.x---

Testing
-------

[](#testing)

```
composer test
```

---

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

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover a security vulnerability, please review our [security policy](.github/SECURITY.md) on how to report it.

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for recent changes.

---

License
-------

[](#license)

The MIT License (MIT). See [LICENSE.md](LICENSE.md) for details.

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance96

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity63

Established project with proven stability

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

Recently: every ~58 days

Total

35

Last Release

17d ago

Major Versions

v1.0.0 → v2.0.02025-08-07

v2.0.0 → v3.0.02025-08-07

v3.0.0 → v4.0.02025-08-07

v4.2.7 → v5.0.02026-07-09

PHP version history (2 changes)v1.0.0PHP ^8.2

v4.0.6PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/41052038?v=4)[M.M](/maintainers/mortezamasumi)[@mortezamasumi](https://github.com/mortezamasumi)

---

Top Contributors

[![mortezamasumi](https://avatars.githubusercontent.com/u/41052038?v=4)](https://github.com/mortezamasumi "mortezamasumi (40 commits)")

---

Tags

messagelaravelmessagingfilamentinboxmailboxmortezamasumifb-message

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mortezamasumi-fb-message/health.svg)

```
[![Health](https://phpackages.com/badges/mortezamasumi-fb-message/health.svg)](https://phpackages.com/packages/mortezamasumi-fb-message)
```

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3915.5k](/packages/rawilk-profile-filament-plugin)[backstage/mails

View logged mails and events in a beautiful Filament UI.

16429.7k](/packages/backstage-mails)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

278359.3k12](/packages/croustibat-filament-jobs-monitor)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

85240.3k9](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6758.2k2](/packages/marcelweidum-filament-passkeys)[relaticle/custom-fields

User Defined Custom Fields for Laravel Filament

16461.2k](/packages/relaticle-custom-fields)

PHPackages © 2026

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