PHPackages                             qodeboy/laravel-mailman - 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. qodeboy/laravel-mailman

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

qodeboy/laravel-mailman
=======================

v5.4.1(8y ago)11.4kMITPHPPHP &gt;=7.0

Since Apr 12Pushed 5y ago1 watchersCompare

[ Source](https://github.com/qodeboy/laravel-mailman)[ Packagist](https://packagist.org/packages/qodeboy/laravel-mailman)[ RSS](/packages/qodeboy-laravel-mailman/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (6)Versions (12)Used By (0)

[![Travis](https://camo.githubusercontent.com/d7bfb09dca65c4be081d4de87a9c08c2b98f5facd9864d5c50edad6d337b9718/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f716f6465626f792f6c61726176656c2d6d61696c6d616e2e7376673f6d61784167653d323539323030303f7374796c653d666c61742d737175617265)](https://travis-ci.org/qodeboy/laravel-mailman)[![Packagist](https://camo.githubusercontent.com/9524929addcfe71aa615bfe5c543a356070d4372e44b7d174fec45e238245917/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f716f6465626f792f6c61726176656c2d6d61696c6d616e2e7376673f6d61784167653d323539323030303f7374796c653d666c61742d737175617265)](https://packagist.org/packages/qodeboy/laravel-mailman)[![Packagist](https://camo.githubusercontent.com/4ac0ec68010a2d44b683b8fd3f74f4f99c1aa37215f33153a6b8012eb4abab1a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f716f6465626f792f6c61726176656c2d6d61696c6d616e2e7376673f6d61784167653d323539323030303f7374796c653d666c61742d737175617265)](https://packagist.org/packages/qodeboy/laravel-mailman)[![StyleCI](https://camo.githubusercontent.com/2e973e655c6583da590c4c5937b8ae1e97767fc702f3ea950a1691dfcb0759d2/68747470733a2f2f7374796c6563692e696f2f7265706f732f35363037333832332f736869656c64)](https://styleci.io/repos/56073823)[![Scrutinizer](https://camo.githubusercontent.com/26095d0a42baa5f59867c5e02e5c4693c116563420f40ffe720b9b83deb63775/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f716f6465626f792f6c61726176656c2d6d61696c6d616e2e7376673f6d61784167653d32353932303030)](https://scrutinizer-ci.com/g/qodeboy/laravel-mailman/)

"Mailman" mail driver for Laravel 5.2+ which allows email delivery to be restricted by environment but allowed for specific recipients.

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

[](#installation)

Begin by installing the package through Composer. Run the following command in your terminal:

```
composer require qodeboy/laravel-mailman "5.2.*"
```

Once composer is done, add the package service provider in the providers array in `config/app.php`:

```
Qodeboy\Mailman\MailManServiceProvider::class,
```

Then publish the config file:

```
php artisan vendor:publish --provider="Qodeboy\Mailman\MailmanServiceProvider"
```

Change `MAIL_DRIVER` to `mailman` in your `.env` file:

```
MAIL_DRIVER=mailman

```

Finally, run migrations:

```
php artisan migrate
```

How it works
------------

[](#how-it-works)

For every email sent this package will:

- Check if current application environment is allowed to send emails.
- If environment if denied, check if all of recipients are in the exception list.
- Passe email through only if environment is allowed to send emails, or all of the recipients are in exception list.
- Log email to database or filesystem (if configured to do so) along with it's status (allowed/denied).
- Send email through configured "delivery" driver.

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

[](#configuration)

### Delivery driver

[](#delivery-driver)

Delivery driver used to send emails which passed all checks is configured in `mailman.delivery.driver` option:

```
/*
 * Driver which will be used to deliver email if email
 * is allowed to send out.
 *
 * Allowed any driver as accepted by mail.driver core
 * config parameter.
 */
'driver' => 'log',
```

You can use any driver name here (except of mailman) which Laravel is aware of.

### Allowed environments

[](#allowed-environments)

To configure which environments are allowed to send emails, check `mailman.delivery.environments` option:

```
/*
 * List of environments which allowed to send emails.
 */
'environments' => [
    'production'
],
```

Each environment added here is **allowed** to send emails.

### Allowed recipients

[](#allowed-recipients)

If you want to lock down environment but still allow some recipients to receive emails, add those addresses to `mailman.delivery.recipients` list:

```
/*
 * List of recipients which are allowed to receive
 * emails even if environment forbids email delivery.
 */
'recipients' => [],
```

### Logging

[](#logging)

By default this package will log every email which tries to go through into database. This is configured in `mailman.log` option:

```
/*
 * Configuration for email logging.
 */
'log' => [

    /*
     * Whatever email logging should be enabled or not.
     */
    'enabled' => true,

    /*
     * Storage to use for email log.
     * Possible values are 'database', 'filesystem'.
     */
    'storage' => 'database',
],
```

If you want to change log storage to simple filesystem log, change `mailman.log.storage` option to `filesystem`. Filesystem path where to store logs is explained below. If you want to completely turn off logging, just change `mailman.delivery.enabled` to `false`.

### Logging storage

[](#logging-storage)

To customize where each logging driver is storing email logs, check `mailman.storage` option:

```
/*
 * Storage configuration.
 */
'storage' => [
    /*
     * Configuration for which database table should
     * be used for email logging.
     */
    'database' => [
        'table' => 'mailman_messages',
    ],

    /*
     * Configuration for where to store logged email messages.
     * Relative to the storage_path().
     */
    'filesystem' => [
        'path' => 'mailman'
    ]
],
```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

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

Recently: every ~134 days

Total

8

Last Release

3192d ago

PHP version history (3 changes)v5.2.0PHP &gt;=5.5.9

v5.2.1PHP &gt;=5.6.0

v5.4.1PHP &gt;=7.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/543453?v=4)[Pavel Sheiman](/maintainers/qodeboy)[@qodeboy](https://github.com/qodeboy)

---

Top Contributors

[![qodeboy](https://avatars.githubusercontent.com/u/543453?v=4)](https://github.com/qodeboy "qodeboy (31 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/qodeboy-laravel-mailman/health.svg)

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

###  Alternatives

[illuminate/notifications

The Illuminate Notifications package.

483.0M1.1k](/packages/illuminate-notifications)[laravel/ai

The official AI SDK for Laravel.

1.0k2.1M163](/packages/laravel-ai)[moonshine/moonshine

Laravel administration panel

1.3k239.9k76](/packages/moonshine-moonshine)[illuminate/session

The Illuminate Session package.

9938.5M823](/packages/illuminate-session)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

252143.0k](/packages/erag-laravel-disposable-email)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45344.0k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

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