Skip to content

MasterRO94/laravel-mail-viewer

Repository files navigation

Latest Stable Version Total Downloads License

StandWithUkraine

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();