Php 在Lumen作业中发送邮件时的BindingResolutionException
发送同步邮件没有问题,但是使用Mail::queue在队列上执行的邮件会引发下一个错误:Php 在Lumen作业中发送邮件时的BindingResolutionException,php,laravel,lumen,mailer,Php,Laravel,Lumen,Mailer,发送同步邮件没有问题,但是使用Mail::queue在队列上执行的邮件会引发下一个错误: Illuminate\Contracts\Container\BindingResolutionException: Target [Swift_Transport] is not instantiable while building [Illuminate\Mail\Mailer, Swift_Mailer]. in /var/www/myapp.dev/vendor/illuminate/contai
Illuminate\Contracts\Container\BindingResolutionException: Target [Swift_Transport] is not instantiable while building [Illuminate\Mail\Mailer, Swift_Mailer]. in /var/www/myapp.dev/vendor/illuminate/container/Container.php:804
当我同步发送电子邮件时,所有内容都已正确配置在Lumen作业中发送电子邮件时遇到了很多问题,我将电子邮件发送封装在一个作业中,该作业可处理邮件,如下所示: maildpatcher.php
<?php
namespace App\Jobs;
use Illuminate\Contracts\Mail\Mailable;
use Illuminate\Support\Facades\Mail;
class MailDispatcher extends Job {
public $mail;
public function __construct(Mailable $mail) {
$this->mail = $mail;
}
public function handle() {
Mail::send($this->mail);
}
}
而且它工作正常整个晚上都在努力解决这个问题,这就成功了。Thx$app->make('queue');将作为一种魅力,只需将其添加到app.php
$mail = new MyMailableMail($user);
dispatch(new MailDispatcher($mail));