Mail::to php Laravel



我试图向新的注册用户发送电子邮件,但由于某种原因,该电子邮件未发送。我有以下内容:

app/http/controllers/auth/registercontroller.php

protected function create(array $data)
{   
    $user = User::create([
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]); 
    Mail::to($data['email'])->send(new WelcomeMail($user));
    return $user;
}   

app/mail/welcomemail.php

class WelcomeMail extends Mailable
{
    use Queueable, SerializesModels;
    public $user;
    /** 
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($user)
    {   
        $this->user = $user;
    }   
    /** 
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {   
        return $this->view('emails.welcome');
    }   
}

app/http/controllers/auth/welcomecontroller.php

class WelcomeController extends Controller
{
    /** 
     * Send Verification Email
     *
     * @param  Request  $request
     * @return Response
     */
    public function sendEmail(Request $request)
    {   
        Mail::to($request->user())->send(new WelcomeMail($user));
    }   
}

我的bladeresources/views/emails/welcome.blade.php

我认为我可能会缺少激活WelcomeMail控制器的路线?

我知道刀片很好,因为每当我尝试手动路由

时,它可以工作
Route::get('/mailable', function (Request $request) {
    $user = $request->user();
    return new AppMailWelcomeMail($user);
});

任何想法可能是什么问题?

编辑

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=9d1204***
MAIL_PASSWORD=7919be***
MAIL_ENCRYPTION=null

尝试将QUEUE_DRIVER值更改为.env中的sync,看看是否发生任何事情。

最新更新