Polyscope - The agent-first dev environment for Laravel

Filament Mails

Filament Mails stats

Downloads
21
Stars
35
Open Issues
0
Forks
3

View on GitHub →

View logged mails and events in a beautiful Filament UI.

Filament Mails

Nice to meet you, we're Vormkracht10

Hi! We are a web development agency from Nijmegen in the Netherlands and we use Laravel for everything: advanced websites with a lot of bells and whitles and large web applications.

About the package

Filament Mails can collect everything you might want to track about the mails that has been sent by your Filament app. Common use cases are provided in this package:

  • Log all sent emails with only specific attributes
  • View all sent emails in the browser using the viewer
  • Collect feedback about the delivery from email providers using webhooks
  • Get automatically notified when email bounces
  • Prune logging of emails periodically
  • Resend logged email to same or another recipient

Upcoming features

  • We're currently in the process of writing mail events support for other popular email service providers like Mailgun, Resend, SendGrid, Amazon SES and Mailtrap.
  • Relate emails being send in Laravel directly to Eloquent models, for example the order confirmation email attached to an Order model.

Why this package

Email as a protocol is very error prone. Succesfull email delivery is not guaranteed in any way, so it is best to monitor your email sending realtime. Using external services like Postmark, Mailgun or Resend email gets better by offering things like logging and delivery feedback, but it still needs your attention and can fail silently but horendously. Therefore we created Laravel Mails that fills in all the gaps.

The package is built on top of Laravel Mails.

Installation

You can install the package via composer:

composer require vormkracht10/filament-mails

You can publish and run the migrations with:

php artisan vendor:publish --tag="mails-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="mails-config"
php artisan vendor:publish --tag="filament-mails-config"

Optionally, you can publish the views using

php artisan vendor:publish --tag="filament-mails-views"

Then add the plugin to your PanelProvider

use Vormkracht10\FilamentMails\FilamentMailsPlugin;
 
public function panel(Panel $panel): Panel
{
return $panel
->plugin(FilamentMailsPlugin::make());
}

[!IMPORTANT] For setting up the webhooks to register mail events, please look into the README of Laravel Mails, the underlying package that powers this package.

Configuration

Sometimes you want to customize the resource, like configuring which users or roles may access the resource. You can do this by overriding the MailResource or EventResource classes in the filament-mails config file. Make sure your custom resource extends the original resource.

return [
'resources' => [
'mail' => \App\Filament\Resources\MailResource::class,
'event' => \App\Filament\Resources\EventResource::class,
],
];

Features and screenshots

List with all sent emails and statistics

The package provides a clear overview of all emails, including statistics and the ability to filter the data.

Resending emails

You can resend emails to the same or another recipient(s). This is useful when your email has bounced and you want to resend it.

Information

You can view all relevant information about the email, such as the subject, the body, the attachments, the from address, the to address(es), the cc address(es), the bcc address(es), the reply to address, metadata and much more.

Preview email

The package provides a preview of the email. This is useful to quickly check if the email is correct.

We also provide the raw HTML and plain text of the email.

Events

The package also logs all events that are fired when an email is sent. This is useful to track the email sending process.

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.

vormkracht10 photo

Wij bedenken, ontwerpen, ontwikkelen en optimaliseren slimme websites vanuit strategie, onderbouwd met methodiek en ervaring.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Vormkracht10 Filament Mails Related Articles

Collect and Monitor Everything About Sent Emails in Your Laravel App image

Collect and Monitor Everything About Sent Emails in Your Laravel App

Read article
Get expert guidance in a few days with a Laravel code review logo

Get expert guidance in a few days with a Laravel code review

Expert code review! Get clear, practical feedback from two Laravel devs with 10+ years of experience helping teams build better apps.

Get expert guidance in a few days with a Laravel code review
LoadForge logo

LoadForge

Scalable load testing for web apps & APIs. Simulate real-world traffic and identify breaking points and performance limits with powerful, scalable load tests designed for Laravel.

LoadForge
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
Curotec logo

Curotec

World class Laravel experts with GenAI dev skills. LATAM-based, embedded engineers that ship fast, communicate clearly, and elevate your product. No bloat, no BS.

Curotec
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic