2017-04-09 31 views
0

出于某种原因,每当我跑Laravel 5.4 - 不能排队邮件

Mail::to($user)->queue(new WelcomeEmail($user)) 

它立即发送排队它代替。我已经遵循Driver Prerequsites

我试图在artisan tinker上运行它,它仍然没有添加到队列中。

这是我WelcomeEmail类:

<?php 

namespace App\Mail\User; 

use Illuminate\Bus\Queueable; 
use Illuminate\Database\Eloquent\Model; 
use Illuminate\Mail\Mailable; 
use Illuminate\Queue\SerializesModels; 
use App\Modules\User\User; 

class WelcomeEmail extends Mailable 
{ 
    use Queueable, SerializesModels; 

    /** 
    * @var Model 
    */ 
    public $user; 

    /** 
    * Create a new message instance. 
    * @param User $user 
    */ 
    public function __construct(User $user) 
    { 
     $this->user = $user; 
    } 

    /** 
    * Build the message. 
    * 
    * @return $this 
    */ 
    public function build() 
    { 
     return $this->markdown('emails.user.registered'); 
    } 
} 

是不是因为我是在Windows机器上运行?

+0

你正在使用哪个队列驱动程序? – dparoli

+0

@dparoli数据库 –

+0

只要确保,但在你的'.env'文件中,队列驱动程序设置为什么? –

回答

1

基于对这个问题的评论,麻烦的是,你有你的queue_driver设置为SYNC.env文件。这个“驱动程序”会立即处理所有事情,这在开发时很有用。

如果你想使用数据库驱动程序,你需要将它设置为“database”,或者对redis驱动程序使用“redis”。