PHPackages                             oltrematica/laravel-pulse-mail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. oltrematica/laravel-pulse-mail

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

oltrematica/laravel-pulse-mail
==============================

Laravel Pulse Mail

v0.2.0(2mo ago)21.3k↑1050%[2 PRs](https://github.com/Oltrematica/laravel-pulse-mail/pulls)MITPHPPHP ^8.3CI passing

Since Nov 20Pushed 2mo agoCompare

[ Source](https://github.com/Oltrematica/laravel-pulse-mail)[ Packagist](https://packagist.org/packages/oltrematica/laravel-pulse-mail)[ RSS](/packages/oltrematica-laravel-pulse-mail/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (30)Versions (8)Used By (0)

 [![Laravel Pulse Mail Logo](.github/images/laravel-pulse-mail-logo.png)](.github/images/laravel-pulse-mail-logo.png)

 [![GitHub Tests Action Status](https://github.com/Oltrematica/laravel-pulse-mail/actions/workflows/run-tests.yml/badge.svg)](https://github.com/Oltrematica/laravel-pulse-mail/actions/workflows/run-tests.yml) [![GitHub PhpStan Action Status](https://github.com/Oltrematica/laravel-pulse-mail/actions/workflows/phpstan.yml/badge.svg)](https://github.com/Oltrematica/laravel-pulse-mail/actions/workflows/phpstan.yml) [![Latest Version on Packagist](https://camo.githubusercontent.com/aa61467da393c0299f92ce2784d4fee7439fb179ac29db5e05019141b892ed01/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f6c7472656d61746963612f6c61726176656c2d70756c73652d6d61696c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/oltrematica/laravel-pulse-mail) [![Total Downloads](https://camo.githubusercontent.com/bf983dcaec95740a736e60543eb3bc7796a65bc9fbda7f7fd305999284c70ad2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f6c7472656d61746963612f6c61726176656c2d70756c73652d6d61696c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/oltrematica/laravel-pulse-mail)

Laravel Pulse Mail
==================

[](#laravel-pulse-mail)

Track and monitor emails sent from your Laravel application directly in your Laravel Pulse dashboard.

This package provides a custom Pulse widget that displays sent emails with details including recipients, subjects, mailable classes, and send counts. Perfect for monitoring email activity and debugging mail-related issues in production.

[![Laravel Pulse Mail Widget](.github/images/laravel-pulse-mail.png)](.github/images/laravel-pulse-mail.png)

Features
--------

[](#features)

- 📧 **Track all sent emails** - Automatically records emails sent via Laravel Mail
- 🎯 **Detailed information** - Shows recipient, subject, mailable class, and send count
- ⚙️ **Configurable filtering** - Exclude specific emails or mailables from tracking
- 📊 **Sample rate control** - Track a percentage of emails for high-volume applications
- 🕐 **Time-based filtering** - Uses Pulse's built-in date filtering
- 🎨 **Consistent UI** - Matches Pulse's design language

Requirements
------------

[](#requirements)

- PHP 8.3+
- Laravel 10.x, 11.x, or 12.x
- Laravel Pulse 1.x

Installation
------------

[](#installation)

### Step 1: Install the Package

[](#step-1-install-the-package)

Install the package via Composer:

```
composer require oltrematica/laravel-pulse-mail
```

### Step 2: Publish Configuration Files

[](#step-2-publish-configuration-files)

Publish the package configuration file:

```
php artisan vendor:publish --tag=pulse-mail-config
```

If you haven't already published the Pulse dashboard view, publish it as well:

```
php artisan vendor:publish --tag=pulse-dashboard
```

### Step 3: Configure Pulse Recorder

[](#step-3-configure-pulse-recorder)

Add the mail recorder to your `config/pulse.php` file in the `recorders` array:

```
'recorders' => [
    // ... other recorders

    \Oltrematica\Pulse\Mail\Recorders\MailSentRecorder::class => [
        'enabled' => env('PULSE_MAIL_ENABLED', true),
    ],
],
```

### Step 4: Add Widget to Dashboard

[](#step-4-add-widget-to-dashboard)

Add the mail-sent widget to your Pulse dashboard in `resources/views/vendor/pulse/dashboard.blade.php`:

```

    {{-- Custom: Mail Sent Widget --}}

```

You can customize the widget size using the `cols` and `rows` attributes. Common configurations:

- `cols="full"` - Full width
- `cols="8"` - 2/3 width
- `cols="6"` - Half width
- `cols="4"` - 1/3 width

Configuration
-------------

[](#configuration)

The `config/pulse-mail.php` file provides several options:

```
return [
    // Maximum number of emails to display in the widget
    'limit' => env('PULSE_MAIL_LIMIT', 10),

    // Email addresses to exclude from tracking
    'ignore' => [
        'to' => [
            // 'test@example.com',
        ],
    ],

    // Mailable classes to exclude from tracking
    'ignore_mailables' => [
        // \App\Mail\TestEmail::class,
    ],

    // Sample rate (0-1): 1 = track all emails, 0.5 = track 50%
    'sample_rate' => env('PULSE_MAIL_SAMPLE_RATE', 1),
];
```

Usage
-----

[](#usage)

Once installed and configured, the package will automatically start tracking emails sent through Laravel's Mail facade or Mailable classes. The widget will display:

- **To**: Email recipient address(es)
- **Subject**: Email subject line
- **Mailable**: The Mailable class used (if applicable)
- **Count**: Number of times this email was sent during the selected period

### Filtering

[](#filtering)

The widget respects Pulse's time-based filtering. Use the Pulse dashboard controls to filter emails by time period (last hour, 24 hours, 7 days, etc.).

### Ignoring Specific Emails

[](#ignoring-specific-emails)

To exclude certain emails from tracking, add them to the configuration:

```
// Ignore by recipient
'ignore' => [
    'to' => [
        'test@example.com',
        'noreply@example.com',
    ],
],

// Ignore by Mailable class
'ignore_mailables' => [
    \App\Mail\TestEmail::class,
    \App\Mail\InternalNotification::class,
],
```

### Sample Rate

[](#sample-rate)

For high-volume applications, you can track only a percentage of emails:

```
// Track 50% of emails
'sample_rate' => 0.5,

// Or use environment variable
'sample_rate' => env('PULSE_MAIL_SAMPLE_RATE', 1),
```

### Viewing Emails in Real-Time

[](#viewing-emails-in-real-time)

Laravel Pulse uses an ingest system that processes recorded data asynchronously. After sending emails, you need to run the Pulse ingest process to see them in the dashboard:

**Option 1: Manual Ingest (Development)**

Run this command to process pending data once:

```
php artisan pulse:check
```

**Option 2: Automatic Ingest (Recommended)**

Run the Pulse worker in the background to automatically process data:

```
php artisan pulse:work
```

For development environments, add `pulse:work` to your concurrent processes. For example, if using `concurrently` in your `composer dev` script:

```
"dev": [
    "npx concurrently \"php artisan serve\" \"php artisan queue:listen\" \"php artisan pulse:work\" \"npm run dev\""
]
```

**Option 3: Production Setup**

In production, configure a supervisor process to keep `pulse:work` running continuously. See the [Laravel Pulse documentation](https://laravel.com/docs/pulse#running-the-pulse-worker) for details.

Code Quality
------------

[](#code-quality)

The project includes automated tests and tools for code quality control.

### Rector

[](#rector)

Rector is a tool for automating code refactoring and migrations. It can be run using the following command:

```
composer refactor
```

### PhpStan

[](#phpstan)

PhpStan is a tool for static analysis of PHP code. It can be run using the following command:

```
composer analyse
```

### Pint

[](#pint)

Pint is a tool for formatting PHP code. It can be run using the following command:

```
composer format
```

### Automated Tests

[](#automated-tests)

The project includes automated tests and tools for code quality control.

```
composer test
```

Contributing
------------

[](#contributing)

Feel free to contribute to this package by submitting issues or pull requests. We welcome any improvements or bug fixes you may have.

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance88

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~59 days

Total

3

Last Release

61d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3d83b7839d47e1a6d48da2b5b7633acfc48b3aed4bfc52c55d15be859757eb04?d=identicon)[oltrematica](/maintainers/oltrematica)

---

Top Contributors

[![mirchaemanuel](https://avatars.githubusercontent.com/u/1971953?v=4)](https://github.com/mirchaemanuel "mirchaemanuel (10 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

laravelmailutilitiesoltrematicapulse-mailpulse dashboard

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/oltrematica-laravel-pulse-mail/health.svg)

```
[![Health](https://phpackages.com/badges/oltrematica-laravel-pulse-mail/health.svg)](https://phpackages.com/packages/oltrematica-laravel-pulse-mail)
```

###  Alternatives

[propaganistas/laravel-disposable-email

Disposable email validator

5762.6M6](/packages/propaganistas-laravel-disposable-email)[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)[creagia/laravel-web-mailer

Laravel Web Mailer

6923.5k](/packages/creagia-laravel-web-mailer)[modernmcguire/mailthief

A Laravel package to catch outbound mail (similar to Mailtrap) that also provides a UI to view them.

318.5k](/packages/modernmcguire-mailthief)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
