Skip to content

gearbox-solutions/mail-log

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mail Log for Laravel

Total Downloads Latest Stable Version License

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.

An example list view of sent email in the Mail Log package

An example list view of sent email in the Mail Log package

Support

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.

Installation

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"

Usage

Web

Visit the /mail-log route to view the emails.

Commands

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

Configuration

Authentication and middleware

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.

Database

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

Development

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.

Building for distribution

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.

Testing

Test are handled by Orchestra Testbench. You can run tests with the command:

composer test

License

The MIT License (MIT). Please see License File for more information.