Laravel队列已处理,但收件箱中找不到电子邮件

时间:2018-09-22 13:52:36

标签: laravel

我正在Laravel队列中发送电子邮件。在使用send方法时,如下所示

Mail::to($userSocial->getEmail())->send(new WelcomeEmail('1234567', "haha", "Makamu"));

我的电子邮件已发送到我的收件箱。但是当我切换到下面的队列

Mail::to($userSocial->getEmail())->queue(new WelcomeEmail('1234567', "haha", "Makamu"));

我也使用了这种方法

SendEmailSocialReg::dispatch('12345678', "haha", "Makamu");

并通过queue:listen进行监控,我就可以开始处理了。然后处理邮件。但是没有错误。

怎么了?

我的WelcomeEmail

<?php

namespace App\Mail;

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

class WelcomeEmail extends Mailable
{
use Queueable, SerializesModels;

public $password;
public $client_name;
public $client_email;
/**
 * Create a new message instance.
 *
 * @return void
 */
public function __construct($password, $email, $name)
{
    $this->password = $password;
    $this->client_name = $name;
    $this->client_email = $email;
}

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->view('email.auto');
}

}

1 个答案:

答案 0 :(得分:0)

您的WelcomeEmail类必须在build()函数中返回markdown(),如下所示:

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

然后必须使用以下命令执行队列工作器:

php artisan queue:work --queue=default