r0bdiabl0/laravel-email-tracker-filament

Filament v3/v4 admin panel for Laravel Email Tracker - dashboards, resources, and statistics

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/r0bdiabl0/laravel-email-tracker-filament

v1.0.0 2026-01-10 14:44 UTC

This package is auto-updated.

Last update: 2026-01-10 15:54:29 UTC


README

Latest Version on Packagist License

A Filament v3/v4 admin panel plugin for Laravel Email Tracker. Provides dashboard widgets, statistics, and resource pages for managing your email tracking data.

Table of Contents

Features

  • Dashboard Widgets - Overview stats, delivery charts, health scores
  • Sent Emails Resource - Browse, search, and filter sent emails
  • Bounces Resource - View and manage bounce records with severity badges
  • Complaints Resource - Track spam complaints
  • Statistics Service - Aggregated stats for custom integrations
  • Filament v3 & v4 Compatible - Works with latest Filament versions

Requirements

Installation

First, install the main email tracker package if you haven't:

composer require r0bdiabl0/laravel-email-tracker
php artisan email-tracker:install

Then install the Filament plugin:

composer require r0bdiabl0/laravel-email-tracker-filament

Optionally publish the config:

php artisan vendor:publish --tag=email-tracker-filament-config

Setup

Register the plugin in your Filament panel provider:

use R0bdiabl0\EmailTrackerFilament\EmailTrackerFilamentPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            EmailTrackerFilamentPlugin::make(),
        ]);
}

Customizing the Plugin

EmailTrackerFilamentPlugin::make()
    ->resources(true)      // Enable/disable resource pages
    ->widgets(true)        // Enable/disable dashboard widgets
    ->dashboard(true)      // Enable/disable dedicated dashboard page

Dashboard

The plugin adds an "Email Tracker" dashboard with:

  • Stats Overview - Sent, delivered, bounced, complained, opened counts with rates
  • Health Score - 0-100 score based on bounce/complaint rates
  • Delivery Chart - Daily trends for sent/delivered/bounced
  • Recent Activity - Latest bounces and events

Resources

Sent Emails

Browse all tracked emails with:

  • Search by recipient or message ID
  • Filter by provider, delivery status, bounce status
  • View delivery/bounce/complaint status icons
  • Batch filtering

Bounces

View bounce records with:

  • Permanent vs Transient type badges
  • Provider filtering
  • Navigation badge showing recent bounce count

Complaints

View spam complaints with:

  • Provider filtering
  • Link to original sent email
  • Navigation badge showing recent complaint count

Statistics Service

Use the Stats service for custom queries:

use R0bdiabl0\EmailTrackerFilament\Services\Stats;

// Get summary stats
$stats = Stats::make()->getSummary();
// Returns: total_sent, total_delivered, bounce_rate, etc.

// Filter by provider
$sesStats = Stats::make()
    ->forProvider('ses')
    ->lastDays(7)
    ->getSummary();

// Get daily data for charts
$dailyData = Stats::make()->getDailyData();

// Get stats by provider
$byProvider = Stats::make()->getByProvider();

// Get health score (0-100)
$score = Stats::make()->getHealthScore();

// Get recent activity
$activity = Stats::make()->getRecentActivity(15);

// Get top bounced emails
$topBounces = Stats::make()->getTopBounces(10);

Configuration

// config/email-tracker-filament.php

return [
    'navigation' => [
        'group' => 'Email Tracker',
        'icon' => 'heroicon-o-envelope',
        'sort' => 100,
    ],

    'dashboard' => [
        'enabled' => true,
        'path' => 'email-tracker',
        'title' => 'Email Tracker',
    ],

    'resources' => [
        'sent_emails' => true,
        'bounces' => true,
        'complaints' => true,
        'opens' => false,    // High volume, disabled by default
        'links' => false,    // High volume, disabled by default
    ],

    'widgets' => [
        'stats_overview' => true,
        'delivery_chart' => true,
        'recent_activity' => true,
        'top_bounces' => true,
    ],

    'default_days' => 30,

    'pagination' => [
        'default' => 25,
        'options' => [10, 25, 50, 100],
    ],
];

Widgets on Other Dashboards

Use the widgets on your main Filament dashboard:

use R0bdiabl0\EmailTrackerFilament\Filament\Widgets\EmailStatsOverview;
use R0bdiabl0\EmailTrackerFilament\Filament\Widgets\EmailDeliveryChart;

public function panel(Panel $panel): Panel
{
    return $panel
        ->widgets([
            EmailStatsOverview::class,
            EmailDeliveryChart::class,
        ]);
}

Related Packages

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Run composer test and composer format
  5. Submit a pull request

For bugs and feature requests, please open an issue.

Credits

License

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