mach3builders/mail-log

dev-master 2023-04-04 08:23 UTC

This package is auto-updated.

Last update: 2024-09-04 11:07:07 UTC


README

detail

overview

安装

您可以通过composer安装此包

composer require mach3builders/mail-log

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --provider="Mach3builders\MailLog\MailLogServiceProvider" --tag="migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Mach3builders\MailLog\MailLogServiceProvider" --tag="config"

这是已发布配置文件的内容

return [
    'route_path' => 'mails',

    'middleware' => ['web', 'auth'],

    'signing_key' => env('MAIL_LOG_SIGNING_KEY'),

    'keep_mail_for_days' => env('MAIL_LOG_KEEP_FOR_DAYS', 7),

    'mailgun_api_token' => env('MAILGUN_API_TOKEN'),
];

设置webhook

手动

前往mailgun.org并设置3个webhook:已投递、临时失败和永久失败,指向mails/webhook。目前此包不接受其他任何webhook。

命令

如果您想使用SetupWebhooksCommand,它可以触发一个作业,自动为您设置webhook

php artisan mail-log:setup-webhooks
php artisan mail-log:setup-webhooks "mach3test.com"

无论您选择命令还是手动设置路线,您都需要在mailgun上登录并转到您的webhooks概览。复制您的webhook签名密钥并在配置中更新MAIL_LOG_SIGNING_KEY

用法

当您需要此包时,它将自动开始记录所有发送的电子邮件。访问/mails以查看所有已记录的邮件。

监听更改

您可以通过监听MailUpdated事件来更新您自己的模型。您可以通过$event->mail访问更新的模型。

protected $listen = [
        \Mach3builders\MailLog\Events\MailUpdated::class => [
            \App\Listeners\UpdateUserComfirmationEmail::class,
        ]
];

编辑视图

要编辑使用的视图,请先发布它们,然后按需编辑。

php artisan vendor:publish --provider="Mach3builders\MailLog\MailLogServiceProvider" --tag="views"

清理邮件日志

您可以通过运行php artisan mail-log:clean命令来清理邮件日志。默认情况下,这将删除所有超过7天的邮件。

如果您想调整保留邮件的天数,可以在配置中调整它,或者您也可以更新.env文件MAIL_LOG_KEEP_FOR_DAYS=365

按计划运行清理

//app/Console/Kernel.php

protected function schedule(Schedule $schedule)
{
   $schedule->command('mail-log:clean')->daily();
}

测试

composer test