img
What We Do
imgProduct & System Design
imgSoftware Development
imgSpecific Laravel Solutions
imgAI Development Service
imgCreative Growth Services
How We Collaborate
imgEngagement Types
Our Work
Case Studies
Client Stories
Open Source
AboutContact
Insights
Blog
News
Opportunities
Vacancies
Bootcamp
Get in touch

Welcome to Redberry

Digital transformation agency ─ Redberry ®

Digital transformation agency ─ Redberry ®


Have inquiries?

helloimgredberry.ge

Digital transformation agency ─ Redberry ®

Digital transformation agency ─ Redberry ®


© 2026, Redberry - Digital Transformation Agency

All rights reserved.

Configuration

Sensible defaults. Full control when you need it.

  • Storage driver-

    database, file, or a custom implementation.

  • Retention period -How long to keep captured emails (default: 24 hours)

  • Polling interval-Real-time update frequency in milliseconds

  • Attachment limits-Max file size, total size, and allowed MIME types

  • Authorization gate-Custom gate for dashboard access control

  • Route prefix -Change the dashboard URL from /mailbox to anything

// config/mailbox.php
1234567891011121314151617
'store' => [
'driver' => env('MAILBOX_STORE_DRIVER', 'database'),
],
 
'retention' => [
'seconds' => env('MAILBOX_RETENTION', 86400),
],
 
'polling' => [
'enabled' => env('MAILBOX_POLLING_ENABLED', true),
'interval' => env('MAILBOX_POLLING_INTERVAL', 5000),
],
 
'attachments' => [
'enabled' => env('MAILBOX_ATTACHMENTS_ENABLED', true),
'max_size' => 5 * 1024 * 1024, // 5MB
],

Stop sending emails into the void

Install Mailbox and see every email your Laravel app sends

GithubLearn More
left glow layerleft glow layer
right glow layerright glow layer

composer require redberry/mailbox-for-laravel

MAILBOX FOR LARAVEL BY NUMBERS
v3.0.0v3.0.0v0.0.0
1 month ago
1291290
GitHub stars
50.9K50.9K0
Downloads

Mailbox for Laravel -
Test & Debug Emails Locally

A zero-configuration local email inbox for your Laravel app. Capture, inspect, and debug every outgoing email - no external services required.

View on GitHubWatch the Walkthrough
Mailbox for Laravel

How It Works

Three steps. No accounts. No configuration files. No environment variables beyond the mailer.

Step 1 - Install

Add Mailbox to your Laravel project and install everything it needs.

/mailbox

composer require redberry/mailbox-for-laravel --dev
php artisan mailbox:install

Step 2 - Set your mailer

Point Laravel’s mailer to Mailbox with a single environment variable.

/mailbox

MAIL_MAILER=mailbox

Step 3 - Send an email

Every email is captured and displayed at /mailbox.

/mailbox

Mail::to('user@example.com')->send(new WelcomeMail());

code example

Dashboard

  • Star

    See Every Email at a Glance

    Browse all captured emails with subject, sender, recipients, and timestamps.

  • Star

    Inspect Emails Your Way

    Switch between HTML preview, plain text, and raw RFC 822 source.

  • Star

    Work with Attachments Easily

    View and download attachments directly from the dashboard.

  • Star

    Keep Your Inbox Clean

    Delete individual messages or clear the entire inbox

  • Star

    Find What You Need, Fast

    Paginated, searchable, and responsive

     

Artisan Commands

The Problem

You’re building email flows - welcome emails, password resets, invoices, notifications - but testing them is painful.

  • log driver shows raw text

    You get a wall of headers and encoded HTML in your log file. No way to see what the user actually receives.

  • External services add friction

    Mailtrap, Mailhog, and similar tools require accounts, API keys, Docker containers, or running separate processes. Every team member has to set them up.

Database

Default. Uses a dedicated SQLite connection out of the box. Supports MySQL and PostgreSQL.

File

JSON files in storage/app/mailbox/. No database required.

Safe by Default

Auto-enabled only in non-production environments

Control Access

Gate-based authorization via Laravel’s Gate facade

Why Mailbox?

Like Mailtrap - but it lives inside your app. No signups. No API keys. No extra processes. One composer require and you’re done.

1

For solo developers

You’re iterating on a transactional email. Instead of sending it to a real address, checking Mailtrap, or reading log files - just open "/mailbox" in your browser. Every email your app sends is right there, rendered exactly as the recipient would see it.

2

For teams

Mailbox forLaravel: Features

Mailbox intercepts all outgoing emails and displays them in a beautiful, self-contained dashboard.

Zero Configuration

Set MAIL_MAILER=mailbox and you’re done. No API keys, no external accounts, no setup.

  • Emails break silently

    A broken layout, a missing variable, a wrong recipient — you don’t catch it until someone reports it or you dig through logs.

  • Onboarding is slow

    New developers on the project need to configure an email testing tool before they can work on anything that sends mail.

  • Custom

    Implement the MessageStore contract for Redis, S3, or any backend you need.

    Customize Redirects

    Configurable redirect for unauthorized users

    Configure Middleware

    Middleware stack is fully customizable

    Protect Attachments

    MIME type whitelist prevents unsafe file storage

    Everyone on the team gets the same email debugging experience out of the box. No shared Mailtrap accounts, no “did you configure your mail driver?” questions. It’s in the repo. It just works.

    3

    For CI and staging environments

    Mailbox captures emails silently without sending them to real recipients, verify email flows in staging without emailing customers. Auto-enabled in non-production environments.

    Captured mail includes password-reset links, tokens and personal data, and the default gate is permissive. Outside local dev, require authentication and a strict viewMailbox gate before enabling. Keep MAILBOX_ENABLED=false in production.

    Install Mailbox
    stamp

    Attachment Support

    View, download, and preview email attachments including inline images.

    Local Email Capture

    Every email your application sends is intercepted and stored locally for inspection.

    Modern Dashboard

    A full-featured email client UI built with Vue 3 and Tailwind, served at /mailbox.

    Storage Flexibility

    Choose between database (SQLite, MySQL, PostgreSQL) or JSON file storage.

    Zero Configuration

    Set MAIL_MAILER=mailbox and you’re done. No API keys, no external accounts, no setup.

    Attachment Support

    View, download, and preview email attachments including inline images.

    Local Email Capture

    Every email your application sends is intercepted and stored locally for inspection.

    Modern Dashboard

    A full-featured email client UI built with Vue 3 and Tailwind, served at /mailbox.