Downloads
Stars
Version
This package allows you to track sent mail and query sent mail statistics.
Once installed you can do stuff like this:
$user = User::find(1);
$order = Order::find(1);
Mail::to($user)
->linkedTo($order)
->category('Order Verification')
->send(new testMail()));
By adding a trait you can access history sending history for a recipient or model.
// Get emails history sent to a user
$user->recipientHistory;
// Get emails history linked to a order
$order->mailableHistory;
This package can be used in Laravel 5.5 or higher.
You can install the package via composer:
composer require michaelgrimshaw/laravel-email-tracker
In Laravel 5.5 the service provider will automatically get registered. In older versions of the framework just add the service provider in config/app.php
file:
'providers' => [
// ...
MichaelGrimshaw\MailTracker\MailTrackerServiceProvider::class,
];
'aliases' => [
// ...
'Mail' => MichaelGrimshaw\MailTracker\Facades\Mail::class,
'MailStats' => MichaelGrimshaw\MailTracker\Facades\MailStats::class,
];
You can create the mail history tables by running the migrations:
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --provider="MichaelGrimshaw\MailTracker\MailTrackerServiceProvider" --tag="config"
First, add the MichaelGrimshaw\MailTracker\TrackableTrait
trait to your User
model(s) and link model(s):
use Illuminate\Foundation\Auth\User as Authenticatable;
use MichaelGrimshaw\MailTracker\TrackableTrait;
class User extends Authenticatable
{
use TrackableTrait;
// ...
}
This now gives you access to extra functions when sending which can be used to control the tracking.
linkedTo(object)
Pass in a model object to link the mail.
category(string)
Pass a string to add a category to the tracked mail.
tracked(bool)
As default, mail will always be tracked. You can use the tracked method to turn tracking on or off.
The default webhook url is /api/email-tracker/event-hook. You can customise the route:
Route::post('custome-route', MailTrackerController::class . '@processEvent');
When the webhook is processed one of the following events are called:
// Events
'mail.event'
'mail.processed'
'mail.dropped'
'mail.delivered'
'mail.deferred'
'mail.bounce'
'mail.open'
'mail.click'
'mail.spamreport'
'mail.group_unsubscribe'
'mail.group_resubscribe'
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.