modernmcguire / mailspy
MailSpy 是一个 Laravel 扩展包,允许您捕获和检查应用程序发送的电子邮件。它被创建用来帮助测试和调试 Laravel 应用程序中的电子邮件发送,同时还可以绕过像 MailGun 和 MailerSend 这样的服务中低保留日志限制。
0.2.2
2024-04-16 04:04 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.5
- pestphp/pest-plugin-laravel: ^2.0
README
MailSpy 是一个 Laravel 扩展包,允许您捕获和检查应用程序发送的电子邮件。它被创建用来帮助测试和调试 Laravel 应用程序中的电子邮件发送,同时还可以绕过像 MailGun 和 MailerSend 这样的服务中低保留日志限制。
您希望完全捕获您的电子邮件作为日志驱动程序的替代方案?尝试使用 MailThief。
安装
您可以通过 composer 安装此包
composer require modernmcguire/mailspy
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="mailspy-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="mailspy-config"
使用方法
这里没有要做的!只需安装包,我们就会开始跟踪发出的电子邮件,并将结果保存到您的数据库中。
事件
MailSpy 监听 MessageSending 和 MessageSent 事件。您可以通过在服务提供者中调用 Mailspy::sending()
和 Mailspy::sent()
方法来注册您自己的事件监听器。
use ModernMcGuire\MailSpy\Facades\MailSpy; use \Illuminate\Mail\Events\MessageSending; use \Illuminate\Mail\Events\MessageSent; MailSpy::sending(function (MessageSending $event, Email $email) { // Do something with the event }); MailSpy::sent(function (MessageSent $event, Email $email) { // Do something with the event });
标签
如果您想对电子邮件进行标记,可以通过将 MailspyTags
关注添加到您的任何可邮寄类中来实现。
use ModernMcGuire\MailSpy\Facades\MailSpy; use ModernMcGuire\MailSpy\Traits\MailspyTags; class MarketingPlan extends Mailable implements ShouldQueue { use Queueable; use SerializesModels; use MailspyTags; /** * Create a new message instance. * * @return void */ public function __construct( public Client $client, ) { // } public function tags(): array { return [ 'client' => $this->client->id, ]; } }
测试
composer test
更新日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请审查 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可协议
MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。