MasterRO94 / laravel-mail-viewer by MasterRO

Easily view in browser outgoing emails.
69,150
63
1
Package Data
Maintainer Username: MasterRO
Maintainer Contact: igoshin18@gmail.com (Roman Ihoshyn)
Package Create Date: 2018-01-12
Package Last Update: 2025-08-21
Home Page:
Language: JavaScript
License: MIT
Last Refreshed: 2025-10-15 03:00:04
Package Statistics
Total Downloads: 69,150
Monthly Downloads: 5,682
Daily Downloads: 178
Total Stars: 63
Total Watchers: 1
Total Forks: 12
Total Open Issues: 4

Mail logger and viewer for Laravel

Easily log, view and search in browser all outgoing emails.

preview

This package gives an ability to log all outgoing emails to a database and view them all from a browser like they will be shown in a modern mail clients (gmail, etc.).

Version Compatibility

| Laravel | Mail Viewer | |:------------|:------------| | 5.5.x - 8.* | 1.3.x | | 9.x - 10.x | 2.x.x |

Upgrade from v1 to v2

Version 2 has been almost totally rewritten and brings totally new fresh UI build with Vue.js 3 and TailwindCss 3.
It works only with Laravel 9+ as of Symfony Mailer replacement for previously used Swift Mailer.

Upgrade Steps

Composer Dependencies

You should update the dependency in your application's composer.json file:

masterro/laravel-mail-viewer to ^2.0

Database migrations

Run package migrations (requires doctrine/dbal to be installed):

php artisan migrate

Publish assets

Run publish command:

php artisan mail-viewer:publish --views

Update configs

V2 uses separate date format for date and time, update these in your config/mail-viewer.php file

'date_format' => 'd.m.Y',
'time_format' => 'H:i:s',

Data pruning

V2 allows prune old records easily using mail-viewer:prune command. You can add it to your Scheduler.

// Console/Kernel.php
$schedule->command('mail-viewer:prune')->daily();

You can specify how many days data will be stored before pruning using config. Default value is 31 days.

'prune_older_than_days' => 31,

Installation

Step 1: Composer

From the command line, run:

composer require masterro/laravel-mail-viewer

Step 2: Publish assets and configs

php artisan mail-viewer:publish

You have to publish assets, and views, configs are optional.

Step 3: Run migrations

php artisan migrate

Step 4: View emails

All ongoing emails you can find on /_mail-viewer page.

Configuration

You can review and change all the default configuration values in published config/mail-viewer.php file.

Data pruning (v2+)

The package allows you to prune old records easily using mail-viewer:prune command. You can add it to your Scheduler.

// Console/Kernel.php
$schedule->command('mail-viewer:prune')->daily();