ghijk / mailroom
A private development and staging email inbox in the Statamic Control Panel.
Package info
github.com/1stevengrant/statamic-mailroom
Type:statamic-addon
pkg:composer/ghijk/mailroom
Requires
- php: ^8.3
- ext-dom: *
- ext-mbstring: *
- statamic/cms: ^6.35.1
Requires (Dev)
- laravel/pint: ^1.30
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-browser: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
An email inbox for your Statamic Control Panel. Capture and inspect the emails your site sends during local development and staging, without delivering them to real recipients.
See what your site is sending
Test a contact form, trigger a welcome email or run a queued notification. Mailroom catches the rendered Laravel email and makes it available in Utilities → Mailroom.
Browse messages as they arrive, search by subject or email address, and open a message to inspect its HTML, plain text, headers and attachments. The inbox updates automatically, so you can keep it open while testing your site.
What is included
- A native Statamic Control Panel interface with permission based access.
- Capture of default, named and failover Laravel mailers, including queued emails when processed.
- Sender, To, Cc, Bcc, reply addresses, headers and raw MIME preservation.
- Sandboxed HTML previews, plain text previews and attachment downloads.
- Captured inline images, with remote assets blocked by default.
- Search, pagination and automatic inbox updates.
- Confirmed message deletion and a danger action for clearing the inbox.
- Private file storage and automatic pruning after seven days.
No database, SMTP server or external email service is required. Mailroom is free and MIT licensed.
Get started
Requires Statamic 6.35.1 or newer within version 6, PHP 8.3 or newer, and the DOM and mbstring extensions.
composer require ghijk/mailroom
Enable capture in your local or staging application's .env:
MAIL_INBOX_ENABLED=true MAIL_MAILER=mail-inbox
Clear cached configuration and restart any queue workers:
php artisan config:clear php artisan queue:restart
Open Utilities → Mailroom in the Control Panel. Super users have access automatically. Other staff need the access email_inbox utility permission.
Capture is disabled by default and only permitted in local, staging and testing environments. Production activation is rejected. While enabled, all Laravel mailers are captured. If a message cannot be saved, sending fails without falling back to external delivery.
Mailroom captures emails sent through Laravel. Emails sent directly by external services, such as payment processor receipts, remain outside its scope.
Documentation
Read the installation and usage documentation for configuration, permissions, previews, retention, staging setup and addon development.
Find releases on GitHub and install through Packagist. A free Statamic Marketplace listing is planned.
License
MIT.
