Skip to content
A mail driver for Laravel

Keep every email your app sends. Read it in a real mailbox.

Mailroom stores outgoing mail in your database, whole: full MIME, attachments, embedded images, headers. Then it gives you a mailbox at /mailroom to read it.

Install in two commands
composer require --dev ebbbang/laravel-mailroom
php artisan mailroom:install

Then open /mailroom. Your next email will be there.

The Mailroom mailbox: a sidebar of mailboxes and people, the message list, and an open messageThe Mailroom mailbox in dark mode: a sidebar of mailboxes and people, the message list, and an open message

The log driver flattens a message. The array driver forgets it. Mailroom keeps it.

MAIL_MAILER=log

One line in a log file. The attachments are thrown away.

MAIL_MAILER=array

Gone at the end of the request.

MAIL_MAILER=mailroom

The whole message, kept in your database, with somewhere to read it.

A mail client for what your application sent

No build step, no npm, no published assets. The styles are inlined, so it works offline and behind a strict CSP.

Made for shared staging too

Testers read mail in the browser: no third-party catcher to sign up for, no inbox credentials to pass around. Read state is per person, so two testers never clear each other's mail.

Staging and QA →
PHP
8.2 to 8.5
Laravel
12 and 13 (11 best-effort)
Storage
Your database and a disk, or a connection of its own
License
MIT

Released under the MIT License.