Save sent emails in the database.
If there is an authenticated user while sending a mail, it will be saved as authenticatable
(polymorphic relation).
composer require norman-huth/laravel-email-log
Publish config file
php artisan vendor:publish --provider="NormanHuth\LaravelEmailLog\Providers\PackageServiceProvider" --tag="email-log-config"
Publish Migration
php artisan vendor:publish --provider="NormanHuth\LaravelEmailLog\Providers\PackageServiceProvider" --tag="email-log-migrations"
It’s a Laravel Eloquent Model.
use NormanHuth\LaravelEmailLog\Models\EmailLog::class;
return EmailLog::all();
return EmailLog::find(1);
return EmailLog::find(1)->authenticatable;
For a Laravel Nova integration read NOVA.md
ErrorLog = {
'id': Number,
'subject': String,
'body': String,
'from': Array,
'to': Array,
'bbc': Array,
'cc': Array,
'reply_to': Array,
'headers': Array,
'attachments': Array,
'is_html': Boolean,
'priority': Number,
'authenticatable_type': String|Null,
'authenticatable_id': Number|Null,
'created_at': String|Null,
'updated_at': String|Null,
'deleted_at': String|Null
}
Nullable morph.
/**
* Get the parent authenticatable model.
*/
public function authenticatable(): MorphTo
{
return $this->morphTo();
}
The softDeletes column is present in the migration, but the SoftDeletes Trait is not using by the Model.