bwt-team / laravel-error-mailer
当出现错误时发送电子邮件通知的软件包
Requires
- php: >=5.5.9
- illuminate/contracts: ^5.4
- illuminate/support: ^5.4
- monolog/monolog: ~1.11
This package is not auto-updated.
Last update: 2024-09-28 19:52:52 UTC
README
英文描述 | 俄语描述
Laravel 5 错误邮件发送器
此软件包允许在出现错误时启用并设置电子邮件警报。
内容
设置
使用以下命令通过 composer 设置此软件包:
composer require bwt-team/laravel-error-mailer
Laravel 中设置
在 composer update 后,将服务提供者添加到 config/app.php
的 providers
中。
BwtTeam\LaravelErrorMailer\Providers\ErrorMailerServiceProvider::class
此服务提供者将启用,并提供将配置文件发布到更新包设置的选项,具体取决于您的需求。发布后,此服务提供者可以禁用,因为它不是必需的。请使用以下命令进行发布:
php artisan vendor:publish --provider="BwtTeam\LaravelErrorMailer\Providers\ErrorMailerServiceProvider" --tag=config
此外,为了使软件包正常工作,请在 bootstrap/app.php
中注册设置类。注册应在返回应用程序示例之前发生。
$app->bind( \Illuminate\Foundation\Bootstrap\ConfigureLogging::class, \BwtTeam\LaravelErrorMailer\ConfigureLogging::class );
Lumen 中设置
要发送电子邮件消息,您可以使用 Laravel 组件或通过初始化实现 \Swift_Transport 接口的类来创建自己的类。要设置 Laravel 组件
- 使用以下命令设置组件:
composer require illuminate/mail
- 将 配置文件 复制到存储在根目录中的
config
目录中(或自行创建目录)。 - 将配置文件
vendor/bwt-team/laravel-error-mailer/config/error-mailer.php
复制到存储在根目录中的配置目录中(如果不存在,请自行创建)并根据您的需求进行设置。 - 在
bootstrap/app
中启用服务提供者。$app->register(\Illuminate\Mail\MailServiceProvider::class);
- 从配置文件设置设置。
$app->configure('mail'); $app->configure('error-mailer');
要启用发送电子邮件警报,您需要在 bootstrap/app
中创建一个 \BwtTeam\LaravelErrorMailer\Configurators\MailConfigurator
类实例,其构造函数如下所示
public function __construct($subject, $to, $from, array $processors = [], $logLevel = Logger::ERROR, \Swift_Transport $sendmailTransport = null)
此类负责通过电子邮件发送警报邮件,但启用它将禁用文件日志记录,这是 Lumen 默认启用的。为了不禁用记录,您需要创建一个 \BwtTeam\LaravelErrorMailer\Configurators\FileConfigurator
类实例。类构造函数如下所示
public function __construct($file = null, $logLevel = Logger::DEBUG)
之后,您需要将此实例传递到 \BwtTeam\LaravelErrorMailer\Configurators\MailConfigurator
类的 with
方法中。每个配置类都有与 monologue 处理器一起工作的选项。为此,您需要将进程实例传递到构造函数中的类名称中或使用 addProcessors
方法添加。除了标准 monologue 处理器外,以下开箱即用的处理器也可用
\BwtTeam\LaravelErrorMailer\Processors\SqlProcessor::class, \BwtTeam\LaravelErrorMailer\Processors\PostDataProcessor::class, \BwtTeam\LaravelErrorMailer\Processors\HeadersProcessor::class,
组件设置完成后,您需要在返回之前将其传递给应用程序类的 configureMonologUsing
方法。
最终的设置将如下所示
$configurator = new \BwtTeam\LaravelErrorMailer\Configurators\MailConfigurator('subject', 'to@example.com', 'from@example.com');
$configurator->setSendmailTransport(\Swift_MailTransport::newInstance());
$configurator->addProcessors([
\BwtTeam\LaravelErrorMailer\Processors\SqlProcessor::class,
\BwtTeam\LaravelErrorMailer\Processors\PostDataProcessor::class,
\BwtTeam\LaravelErrorMailer\Processors\HeadersProcessor::class,
\Monolog\Processor\WebProcessor::class
]);
$configurator->with(new \BwtTeam\LaravelErrorMailer\Configurators\FileConfigurator());
$app->configureMonologUsing($configurator);
许可证
此软件包使用 MIT 许可证。