Laravel:使用队列和作业发送电子邮件
Laravel: Send email using queue and jobs
我想使用 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));
可邮寄 Class: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);
}
我想使用 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));
可邮寄 Class: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);
}