Laravel 自定义日志邮件程序未发送到正确的日志通道

问题描述

请注意,这不是重复的,因为我找不到其他有效的答案,而且没有一个问题像我下面所做的那样使用 Mailable->mailer() 方法自定义邮件程序。

我正在测试在我的 Laravel 8(在 Homestead 上)本地发送邮件,当我发送时,我使用以下代码(在控制台命令中):

// SendableEmail is a Mailable object
// $email are objects from which SendableEmail populates the content,recipient etc
foreach ($queue as $email) {
    $message = new SendableEmail($email);
    if ($dry_run)
        $message = $message->mailer("fake_email");  // Notice this line

    Log::debug("Should be sent.");
    Mail::send($message);
}

我将默认邮件程序配置为将所有电子邮件发送到 laravel.log,并且有效。但是正如您所看到的,如果我在进行试运行,我希望使用不同的邮件程序 fake_email,它应该将电子邮件发送到名为 emails.log 的不同日志文件,而这个是不工作。
发生的情况是,无论 $dry_run 的值如何,电子邮件都会发送到 laravel.log,换句话说,完全忽略我的自定义邮件程序。

在对我的 config 和 env 文件进行五重检查并多次刷新缓存后,我不知道还能在哪里查看,而且一定是遗漏了什么。

这是我的config/mail.php

// ...
'default' => env('MAIL_MAILER','log'),'mailers' => [
    'log' => [
        'transport' => 'log','channel' => env('MAIL_LOG_CHANNEL'),],'fake_email' => [
        'transport' => 'log','channel' => 'fake_email',// ...

config/logging.php

'default' => env('LOG_CHANNEL','stack'),// ...
'channels' => [
    'stack' => [
        'driver' => 'stack','channels' => ['single'],'ignore_exceptions' => false,'fake_email' => [
        'driver' => 'single','path' => storage_path('logs/emails.log'),'level' => 'debug','testing' => [
        'driver' => 'single','path' => storage_path('logs/testing.log'),'level' => env('LOG_LEVEL','debug'),'single' => [
        'driver' => 'single','path' => storage_path('logs/laravel.log'),

我的.env

APP_DEBUG=true
# ...
LOG_CHANNEL=stack
LOG_LEVEL=debug
# ...
QUEUE_CONNECTION=sync
# ...
MAIL_MAILER=log
# ...

如您所见,自定义邮件程序已配置,但从未创建或写入 emails.log(我也尝试手动创建)。所发生的一切是,无论情况如何,电子邮件都会打印到 laravel.log
无论是在控制台还是日志中,我都没有收到异常抛出或错误。

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...