使用队列方法发送邮件,但它直接发送

时间:2016-11-18 09:11:29

标签: php laravel email laravel-5

我尝试在作业完成后发送邮件,但我喜欢发送到队列。但我的代码直接发送。

我的代码是Queueing Mail

Mail::to($request->user())
    ->cc($moreUsers)
    ->bcc($evenMoreUsers)
    ->queue(new OrderShipped($order));

这就是它的过程

应用\邮件\ CpJobFinished.php

<?php
namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
...

class CpJobFinished extends Mailable implements ShouldQueue
{
    use  SerializesModels, Queueable;

    ...
    // Some code for formating message 

在一个Command类 \ app \ Console \ Commands \ CpRsyncJobs

<?php
namespace App\Console\Commands;

use App\Mail\CpJobFinished;
use Illuminate\Support\Facades\Mail;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
...

class CpRsyncJobs extends Command

Mail::to($email)->queue(new CpJobFinished($job));

但是使用此代码邮件,它会直接发送而不是发送到队列。当然,队列是活跃的,为其他任务工作,

1 个答案:

答案 0 :(得分:0)

声明类可邮寄时出错。

当这段代码发送给队列时发送邮件。

应用\邮件\ CpJobFinished.php

if(cmbID.SelectedIndex == (cmbID.Items.Count - 1))
{
    cmbID.SelectedIndex =1;
}else
{
    cmbID.SelectedIndex += 1;
}