This is a package built for Laravel to log all emails sent from your application.
Mail Log provides a user interface to view all emails which have been sent. The default location is https://yourapp.com/mail-log
, but can be changed.
The Mail Log UI and routes are separate from the rest of your app. The assets are all precompiled and frontend-agnostic! It should work fine no matter if you're using Blade, Inertia, React, Vue, or any other frontend.
This package is built and maintained by Gearbox Solutions. We build fantastic web apps with technologies like Laravel, Vue, React, and Node. If you would like assistance building your own web app, either using this package or other projects, please contact us for a free introductory consultation to discuss your project.
Install using composer:
composer require gearbox-solutions/mail-log
Publish and run the migrations to add the mail-logs table:
php artisan vendor:publish --tag="mail-log-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="mail-log-config"
Visit the /mail-log
route to view the emails.
Delete all mail logs
php artisan mail-log:delete-all
Delete mail logs older than a certain number of days
php artisan mail-log:delete-old {days}
Skip confirmation prompt by adding the --yes
flag
php artisan mail-log:delete-old {days} --yes
All messages are visible at the /mail-logs
url. By default, this is protected by the Illuminate\Session\Middleware\AuthenticateSession
middlware. This means that any logged-in user can see all email messages sent. You can change this by changing the middleware
array in the published config/mail-log.php
file.
By default, this package stores all emails sent by your server in the mail-logs
table of the default database. You can change the database connection used by adjusting the database
attribute in the published config/mail-log.php
This package is built using the following stack:
Developing this package is done using two local servers. The first is the Testbench Laravel server which is used to serve the app. The second is Vite, which builds the front-end assets.
Run the development Laravel server using
composer run serve
Run the Vite server using
npm run dev
Visit http://localhost:8000/mail-log to view the test emails.
Front-end assets are compiled using Vite. The final output is in the dist
directory. Assets built to this directory are served by laravel through a configuration in the web.php
routes file.
To compile the assets for distribution, run:
npm run build
Commit these files to version control after running the build command.
Laravel controllers and other php files are delivered as is, and do not need any special processing.
Test are handled by Orchestra Testbench. You can run tests with the command:
composer test
The MIT License (MIT). Please see License File for more information.