modernmcguire/mailspy

MailSpy 是一个 Laravel 扩展包,允许您捕获和检查应用程序发送的电子邮件。它被创建用来帮助测试和调试 Laravel 应用程序中的电子邮件发送,同时还可以绕过像 MailGun 和 MailerSend 这样的服务中低保留日志限制。

0.2.2 2024-04-16 04:04 UTC

This package is auto-updated.

Last update: 2024-09-20 16:28:49 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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)。请参阅 许可文件 了解更多信息。