Laravel:使用队列和作业发送电子邮件

问题描述

我想使用laravel队列发送电子邮件。我遵循该网站https://blog.mailtrap.io/laravel-mail-queue/上的教程。是工作(可以使用作业和队列发送电子邮件)。

但是我想在电子邮件中包含价值。下面是我修改以发送值的代码。

我认为$details数组将携带值并传递到电子邮件模板。但是当我跑步时,工作失败了。有什么我可以改善的方法吗?

PController.php

$details = array(
            'email' => 'test@mail.com','fruitname' => 'watermelon','fruitid' => 'F001'
        );

dispatch(new SendEmail($details))->delay(Carbon::now()->addSeconds(10));

可邮寄类:SendEmail.php

protected $details;

public function __construct($details)
    {
        $this->details = $details;
    }

public function handle()
    {
        $email = new MailFruit();
        Mail::to($this->details['email'])->send($email);
    }

MailFruit.php

protected $details;

public function __construct($details)
    {
        $this->details = $details;
    }

public function build()
    {
        return $this->from('admin@mail.com')
                    ->subject('New Fruit')
                    ->view('emails/email_fruit_template')
                    ->with('details',$this->details);
    }

email_fruit_template.blade.php

@component('mail::message')

New Fruit Details

Fruit ID: {{ $details['fruitid'] }}
Fruit Name: {{ $details['fruitname'] }}

Fruit Company
@endcomponent

任何帮助将不胜感激。谢谢。

编辑: 这个出现在cmd上。

$php artisan queue:work
[2020-08-12 14:36:22][58] Processing: App\Jobs\SendEmail
[2020-08-12 14:36:23][58] Failed:     App\Jobs\SendEmail

解决方法

在Mailfruit的新实例中传递详细信息数组。


public function handle()
    {
        $email = new MailFruit($this->details);
        Mail::to($this->details['email'])->send($email);
    }

相关问答

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