Level 1
Actually the 7.x doc seems to be wrong. See the issue
I am getting the following error when I run my queue
local.ERROR: Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Mail\Factory] is not instantiable. in ....../vendor/illuminate/container/Container.php:982
in my bootstrap/app.php I added
$app->configure('mail');
$app->alias('mailer', Illuminate\Mail\Mailer::class);
$app->alias('mailer', Illuminate\Contracts\Mail\Mailer::class);
$app->alias('mailer', Illuminate\Contracts\Mail\MailQueue::class);
$app->configure('queue');
$app->register(Illuminate\Mail\MailServiceProvider::class);
$app->register(Illuminate\Queue\QueueServiceProvider::class);
This is how I try to send my mail:
Mail::to($user)->locale(App::getLocale())->send(new Register($user));
and this is the Register class:
<?php
namespace App\Mail;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class Register extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
/**
* The user instance.
*
* @var User
*/
protected $user;
/**
* Create a new message instance.
*
* @param User $user The user instance.
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.users.register');
}
}
Sending mails without queueing them works perfectly fine. Am I doing something wrong, or is this a bug?
laravel/lumen-framework is version 7.x - illuminate/mail and illuminate/queue are both 7.3.0
Cheers ;)
Please or to participate in this conversation.