如何使用 Laravel 队列作业发送电子邮件

时间:2021-02-23 06:59:05

标签: laravel

我正在使用 Laravel 队列作业发送电子邮件,我正在尝试发送电子邮件,但不幸的是我收到错误消息。如何解决这个问题?

这里是错误:

zubair@HT-01-031:~/htdocs/project/queuejob$ php artisan queue:work

[2021-02-23 06:45:25][29] Processing: App\Jobs\SendEmailJob

[2021-02-23 06:45:26][29] Failed:     App\Jobs\SendEmailJob

电子邮件控制器

   class EmailController extends Controller
{
    public function sendEmail()
    {
        $emailJob = (new SendEmailJob())->delay(Carbon::now()->addSeconds(3));
        dispatch($emailJob);

        echo 'email sent';
    }
}

应用/邮件/SendMailTest

class SendEmailTest extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

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

应用程序/作业/SendEmailJob

  class SendEmailJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        Mail::to('zubair.m@horizontech.biz')->send(new SendEmailTest());
    }
}

路线

Route::get('/sendemail',[EmailController::class,'sendEmail']);

.env

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=465
MAIL_USERNAME=xxxxxxxxxxx
MAIL_PASSWORD=xxxxxxxxxxx
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

0 个答案:

没有答案