Mail Log
View outgoing mail in a resource.
Author:
Tapp Network
Documentation
- Version Compatibility
- Installation
- Using the Resource
- Multi-Tenancy Support
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
This plugin adds an event listener to log emails sent on mail_logs database table. It also adds a Filament resource to view the mail logs.
#Version Compatibility
| Filament | Filament MailLog | Documentation |
|---|---|---|
| 4.x/5.x | 2.x | Current |
| 3.x | 1.x | Check the docs |
#Installation
You can install the package via Composer:
composer require tapp/filament-maillog:"^2.0"
You can publish the config file with:
php artisan vendor:publish --tag="filament-maillog-config"
This is the contents of the published config file:
return [
'amazon-ses' => [
'configuration-set' => null,
],
'resources' => [
'MailLogResource' => \Tapp\FilamentMailLog\Resources\MailLogResource::class,
],
'navigation' => [
'maillog' => [
'register' => true,
'sort' => 1,
'icon' => 'heroicon-o-rectangle-stack',
],
],
'sort' => [
'column' => 'created_at',
'direction' => 'desc',
],
'tenancy' => [
'enabled' => env('FILAMENT_MAILLOG_TENANCY_ENABLED', false),
'model' => null, // e.g. \App\Models\Team::class
'relationship_name' => env('FILAMENT_MAILLOG_TENANCY_RELATIONSHIP_NAME', null),
'column' => env('FILAMENT_MAILLOG_TENANCY_COLUMN', null),
'foreign_key' => [
'on_delete' => env('FILAMENT_MAILLOG_TENANCY_ON_DELETE', 'cascade'),
'on_update' => env('FILAMENT_MAILLOG_TENANCY_ON_UPDATE', 'cascade'),
],
'auto_assign' => env('FILAMENT_MAILLOG_TENANCY_AUTO_ASSIGN', true),
],
];
You can publish and run the migrations with:
php artisan vendor:publish --tag="filament-maillog-migrations"
php artisan migrate
Warning: If you use multi-tenancy, configure tenancy before publishing and running migrations. See "Multi-Tenancy Support" below.
Optionally, you can publish the translations files with:
php artisan vendor:publish --tag="filament-maillog-translations"
#Using the Resource
Add this plugin to a panel on plugins() method.
E.g. in app/Providers/Filament/AdminPanelProvider.php:
use Tapp\FilamentMailLog\FilamentMailLogPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
FilamentMailLogPlugin::make(),
//...
]);
}
#Multi-Tenancy Support
Mail log entries can be scoped to a tenant (e.g. team or organization) when your Filament panel uses tenancy.
#Setup
-
Configure tenancy before migrations
Publish the config and set in
config/filament-maillog.php:'tenancy' => [ 'enabled' => true, 'model' => \App\Models\Team::class, 'relationship_name' => 'team', 'column' => 'team_id', 'auto_assign' => true, ],Or use env vars:
FILAMENT_MAILLOG_TENANCY_ENABLED=true,FILAMENT_MAILLOG_TENANCY_COLUMN=team_id, etc. -
Publish and run migrations
The
mail_logstable will get the tenant foreign key when tenancy is enabled:php artisan vendor:publish --tag="filament-maillog-migrations" php artisan migrate -
Panel
Ensure your panel uses the same tenant model, e.g.
->tenant(\App\Models\Team::class).
When tenancy is enabled, the resource is scoped to the current tenant and new mail logs are associated with the current tenant.
#Testing
composer test
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
Value Range Filter
A value range filter for Filament table builder.
Author:
Tapp Network
Invites
Invite Users with a table action or a header action.
Author:
Tapp Network
Footer
Adds a customizable copyright footer to all your Filament panels with full translation support.
Author:
Tapp Network
Laravel Survey
Plugin for Laravel Survey package.
Author:
Tapp Network
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese