Download the PHP package basementdevs/filament-better-mails without Composer

On this page you can find all versions of the php package basementdevs/filament-better-mails. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-better-mails

Filament Better Mails

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

A Filament v5 plugin that automatically logs every outgoing email, tracks delivery events via provider webhooks, and gives you a full-featured admin panel to browse, preview, and resend emails.

Features

Requirements

Installation

Install the package via Composer:

Publish and run the migrations:

Publish the config file:

Setup

1. Register the Plugin

Add the plugin to your Filament panel provider:

2. Configure Your Email Provider

Set your provider credentials in .env:

3. Register Webhook URL

Point your email provider's webhook settings to:

This route is automatically registered and CSRF-exempt.

How It Works

Email Capture Flow

The package hooks into Laravel's mail events automatically. No changes to your existing mail code are required.

Webhook Tracking Flow

When your email provider processes the email, it sends delivery events back:

Tracked Events

Event Color Description
Sent Gray Email dispatched from your app
Accepted Green Provider accepted the email
Scheduled Amber Email scheduled for future delivery
Delivered Blue Email reached recipient's inbox
Opened Green Recipient opened the email
Clicked Teal Recipient clicked a link in the email
Soft Bounced Red Temporary delivery failure
Hard Bounced Red Permanent delivery failure
Complained Indigo Recipient marked as spam
Unsubscribed Gray Recipient unsubscribed
Suppressed Orange Email suppressed by provider

Configuration

Full configuration reference

Models

Swap the default models with your own by extending the base classes:

All internal references resolve from config, so your custom models are used throughout the package.

Database Tables

Customize table names to avoid conflicts:

Resource Navigation

Customize how the resource appears in the Filament sidebar:

Pruning

Enable automatic cleanup of old records:

Then schedule the prune command in your routes/console.php:

Attachment Logging

Control whether attachments are stored to disk:

Webhook Logging

Enable detailed webhook logging for debugging:

Filament Admin Panel

Email List Page

The list page provides:

Table Columns

Column Description
Subject Email subject line (searchable)
Attachments Paper clip icon if email has attachments
Recipient(s) To addresses
Status Color-coded badges for each event in the timeline
Opens Open count with tooltip showing last opened date
Clicks Click count with tooltip showing last clicked date
Sent At Relative time with exact date tooltip

Email Detail View

View full email details in a slideOver modal with three sections:

General

Content

Attachments

Actions

Action Type Description
View Record Open email detail in a slideOver modal
Resend Record Resend email to custom recipients (to, cc, bcc)
Bulk Resend Bulk Resend selected emails, pre-filled with original recipients
Send Test Email Header Send a simple or attachment test email to verify setup
Delete Bulk Delete selected email records

Stats Widget

The dashboard widget shows four metrics as percentages:

Stat Color Description
Delivered Green Delivery rate
Opened Blue Open rate
Clicked Teal Click rate
Bounced Red Bounce rate (soft + hard)

Each stat links to its corresponding filter tab. Toggle visibility with 'view_any' => false.

Extending the Package

Custom Models

Extend the base models and update the config:

Custom Webhook Providers

  1. Create a driver implementing BetterDriverContract:

  2. Add the provider enum case to SupportedMailProvidersEnum

  3. Register in config:

Polymorphic Relationships

The package creates a mailables polymorph table for associating emails with any model:

Publishing Views

Customize the Blade templates:

View Purpose
preview.blade.php Email preview iframe wrapper
html.blade.php HTML content display
mails/html.blade.php HTML source with syntax highlighting
mails/preview.blade.php Iframe preview component
mails/download.blade.php Attachment download button
mails/test/simple.blade.php Simple test email template
mails/test/attachment.blade.php Attachment test email template
tables/columns/mail-status.blade.php Status badge column

Environment Variables

Variable Default Description
MAIL_MAILER smtp Laravel mail driver (set to resend)
RESEND_API_KEY -- Resend API key
RESEND_WEBHOOK_SECRET -- Resend webhook signing secret
MAILS_WEBHOOK_PROVIDER resend Active webhook provider
MAILS_WEBHOOK_LOGGING_ENABLED false Enable webhook debug logging
MAILS_WEBHOOK_LOG_CHANNEL -- Custom log channel for webhooks
MAILS_LOGGING_ATTACHMENTS_ENABLED true Store email attachments to disk
FILESYSTEM_DISK local Storage disk for attachments

Supported Providers

Provider Status
Resend Supported

Testing

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.


All versions of filament-better-mails with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
filament/filament Version ^5.0
illuminate/contracts Version ^12.0||^13.0
resend/resend-laravel Version ^1.0
spatie/laravel-package-tools Version ^1.16
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package basementdevs/filament-better-mails contains the following files

Loading the files please wait ...