PHPackages                             davidneal/laravel-ses-tracker - 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. davidneal/laravel-ses-tracker

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

davidneal/laravel-ses-tracker
=============================

Allows you to track opens, deliveries, bounces, complaints and clicked links when sending emails through Laravel and Amazon SES

v0.4.7(5y ago)09MITPHPPHP ^7.2.5

Since Mar 25Pushed 5y agoCompare

[ Source](https://github.com/davidsneal/laravel-ses-tracker)[ Packagist](https://packagist.org/packages/davidneal/laravel-ses-tracker)[ RSS](/packages/davidneal-laravel-ses-tracker/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (10)Versions (14)Used By (0)

laravel-ses-tracker
===================

[](#laravel-ses-tracker)

A Laravel 6.0+ Package that allows you to get simple sending statistics for emails you send through SES, including deliveries, opens, bounces, complaints and link tracking.

> This is a revamped version of [oliveready7/laravel-ses](https://github.com/oliveready7/laravel-ses) package, updated to support Laravel v6.0+ and some bug fixes. Primarily I revamped this package so it's suitable to be used in my company project with Laravel v6.0+.

Here are the differences between original package and this package:

1. All the namespace are changed to `DavidNeal/LaravelSesTracker`
2. Service provider is now `LaravelSesTrackerServiceProvider`
3. All the tables name are prefixed with `laravel_ses_tracker` instead of `laravel_ses`
4. New unsubscribe column in `sent_emails` (TODO)
5. Config file is now `config/laravel-ses-tracker.php` instead of `config/laravelses.php`
6. Routes are unchanged, they are still prefixed with `/laravel-ses`

Apart from the above listed differences, there are not much more difference between this package and oliveready7's package.

Install via composer
--------------------

[](#install-via-composer)

Add to composer.json

```
composer require davidneal/laravel-ses-tracker

```

Make sure your app/config/services.php has SES values set

```
'ses' => [
    'key' => your_ses_key,
    'secret' => your_ses_secret,
    'domain' => your_ses_domain,
    'region' => your_ses_region,
],

```

Important to note that if you're using an IAM, it needs access to SNS (for deliveries, bounces and complaints) as well as SES

Make sure your mail driver located in app/config/mail.php is set to 'ses'

Publish public assets

```
php artisan vendor:publish --tag=public --force

```

Migrate the package's database tables

```
php artisan migrate

```

Optionally you can publish the package's config (laravel-ses-tracker.php)

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

```

Config Options

- aws\_sns\_validator - whether the package uses AWS's SNS validator for inbound SNS requests. Default = false

Run command in **production** to setup Amazon email notifications to track bounces, complaints and deliveries. Make sure in your configuration your app URL is set correctly.

If your application uses the http protocol instead of https add the --http flag to this command

```
php artisan setup:sns

```

Usage
-----

[](#usage)

To send an email with all tracking enabled

```
SesMail::enableAllTracking()
    ->to('hello@example.com')
    ->send(new Mailable);

```

All tracking allows you to track opens, bounces, deliveries, complaints and links

You can, of course, disable and enable all the tracking options

```
SesMail::disableAllTracking();
SesMail::disableOpenTracking();
SesMail::disableLinkTracking();
SesMail::disableBounceTracking();
SesMail::disableComplaintTracking();
SesMail::disableDeliveryTracking();

SesMail::enableAllTracking();
SesMail::enableOpenTracking();
SesMail::enableLinkTracking();
SesMail::enableBounceTracking();
SesMail::enableComplaintTracking();
SesMail::enableDeliveryTracking();

```

The setEmailId option gives you the chance to group emails via a foreign id, so you can get the results for a specific email of your own.

```
SesMail::enableAllTracking()
    ->setEmailId($email->id)
    ->to('hello@example.com')
    ->send(new Mailable);

```

You can manipulate the results manually by querying the database. Or you can use functions that come with the package.

```
SesMail::statsForEmail('welcome_emails');

//example result
[
    "send_count" => 8,
    "deliveries" => 7,
    "opens" => 4,
    "bounces" => 1,
    "complaints" => 2,
    "click_throughs" => 3,
    "link_popularity" => collect([
        "https://welcome.page" => [
            "clicks" => 3
        ],
        "https://facebook.com/brand" => [
            "clicks" => 1
        ]
    ])
]

```

Send count = number of emails that were attempted

Deliveries = number of emails that were delivered

Opens = number of emails that were opened

Complaints = number of people that put email into spam

Click throughs = number of people that clicked at least one link in your email

Link Popularity = number of unique clicks on each link in the email, ordered by the most clicked.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 64.7% 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 ~74 days

Recently: every ~1 days

Total

13

Last Release

2081d ago

PHP version history (2 changes)v0.2.0PHP ^7.2

v0.3.0PHP ^7.2.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/e03683d4ffe58fd94dcd679a0f880298dc005904d58c448654eb2ac5d3e6d263?d=identicon)[davidsneal](/maintainers/davidsneal)

---

Top Contributors

[![davidsneal](https://avatars.githubusercontent.com/u/6142131?v=4)](https://github.com/davidsneal "davidsneal (11 commits)")[![andytan07](https://avatars.githubusercontent.com/u/27825916?v=4)](https://github.com/andytan07 "andytan07 (6 commits)")

---

Tags

laravelamazonemailemail marketingsesAmazon Simple Email ServiceEmail Tracking

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/davidneal-laravel-ses-tracker/health.svg)

```
[![Health](https://phpackages.com/badges/davidneal-laravel-ses-tracker/health.svg)](https://phpackages.com/packages/davidneal-laravel-ses-tracker)
```

###  Alternatives

[juhasev/laravel-ses

Allows you to track opens, deliveries, bounces, complaints and clicked links when sending emails through Laravel and Amazon SES

1710.0k](/packages/juhasev-laravel-ses)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)[ferdous/laravel-otp-validate

Laravel package for OTP validation with built-in features like retry and resend mechanism. Built in max retry and max resend blocking. OTP/Security Code can be send over SMS or Email of your choice with user-defined template.

7124.4k](/packages/ferdous-laravel-otp-validate)[putyourlightson/craft-amazon-ses

Amazon SES mailer adapter.

1190.4k2](/packages/putyourlightson-craft-amazon-ses)[sunaoka/laravel-ses-template-driver

Amazon SES template mail driver for Laravel.

1088.0k](/packages/sunaoka-laravel-ses-template-driver)[ashallendesign/laravel-mailboxlayer

A lightweight Laravel package for validating emails using the Mailbox Layer API.

762.0k](/packages/ashallendesign-laravel-mailboxlayer)

PHPackages © 2026

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