简体   繁体   中英

Send mail with queue method but it's sending directly

I'm try to send mails after jobs finished, but I like send to queue. But my code send directly.

My code it's according Queueing Mail

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

Well this it's process

app\\Mail\\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 

On one Command class \\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));

But with this code mail it's send directly instead send to queue. Of course, queues are active, work for other task,

Error on declaration of Class mailable.

When this code, mail it's send to queue.

app\\Mail\\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 Queueable, SerializesModels;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM