【发布时间】:2018-10-30 11:17:44
【问题描述】:
这是我第一次在 Laravel/Lumen 中使用事件。
我实际上正在使用 Lumen,并且我试图在新用户注册时发送一个 Mailable 实例以便在后台发送电子邮件。
我相信我设置正确,但我不断收到此错误...
类型错误:传递给 Illuminate\Mail\Mailable::queue() 的参数 1 必须实现接口 Illuminate\Contracts\Queue\Factory,给定 Illuminate\Queue\DatabaseQueue 的实例
我实际上无法在错误消息本身中看到问题的来源,例如没有行号。
但是,这是我的代码...
AuthenticationContoller.php
$this->dispatch(new NewUser($user));
NewUser.php
<?php
namespace App\Mail;
use App\Models\User;
use Illuminate\Mail\Mailable;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class NewUser extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
protected $user;
public function __construct(User $user)
{
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('test')->to('test@test.com', 'Test')
->from('test@test.com', 'test')->replyTo('test@test.com', 'test')
->subject('Welcome to the blog!');
}
}
【问题讨论】: