MichaelGrimshaw / laravel-email-tracker
用于追踪发送的邮件并监听webhook事件的包
1.0.5
2021-05-26 18:57 UTC
Requires
- php: ~5.6|~7.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
README
此包允许您跟踪发送的邮件并查询发送邮件的统计数据。
安装完成后,您可以执行以下操作
$user = User::find(1); $order = Order::find(1); Mail::to($user) ->linkedTo($order) ->category('Order Verification') ->send(new testMail()));
通过添加一个特性,您可以访问收件人或模型的发送历史。
// Get emails history sent to a user $user->recipientHistory; // Get emails history linked to a order $order->mailableHistory;
安装
Laravel
此包可以在Laravel 5.5或更高版本中使用。
您可以通过Composer安装此包
composer require michaelgrimshaw/laravel-email-tracker
在Laravel 5.5中,服务提供程序将自动注册。在框架的旧版本中,只需在config/app.php
文件中添加服务提供程序即可
'providers' => [ // ... MichaelGrimshaw\MailTracker\MailTrackerServiceProvider::class, ]; 'aliases' => [ // ... 'Mail' => MichaelGrimshaw\MailTracker\Facades\Mail::class, 'MailStats' => MichaelGrimshaw\MailTracker\Facades\MailStats::class, ];
您可以通过运行迁移来创建邮件历史表
php artisan migrate
您可以通过以下方式发布配置文件
php artisan vendor:publish --provider="MichaelGrimshaw\MailTracker\MailTrackerServiceProvider" --tag="config"
用法
首先,将MichaelGrimshaw\MailTracker\TrackableTrait
特性添加到您的User
模型(s)中,并链接模型(s)
use Illuminate\Foundation\Auth\User as Authenticatable; use MichaelGrimshaw\MailTracker\TrackableTrait; class User extends Authenticatable { use TrackableTrait; // ... }
方法
现在,在发送邮件时,您可以访问额外的功能,用于控制跟踪。
linkedTo(object)
传入一个模型对象以关联邮件。
category(string)
传入一个字符串以向跟踪的邮件添加一个类别。
tracked(bool)
默认情况下,邮件始终会被跟踪。您可以使用跟踪方法打开或关闭跟踪。
跟踪事件
默认webhook URL为/api/email-tracker/event-hook。您可以自定义路由
Route::post('custome-route', MailTrackerController::class . '@processEvent');
当webhook被处理时,将调用以下事件之一
// 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'
变更日志
请参阅变更日志以获取更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件hello@michaelgrimshaw.co.uk报告,而不是使用问题跟踪器。
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。