流明可邮送ShouldQueue不排队

问题描述

我正在开发Lumen 6.0,遇到了一个非常奇怪的问题。

我正在尝试使用我的可邮件类上的ShouldQueue在可邮件队列中发送电子邮件,但是似乎邮件通常不会通过队列发送,因为ShouldQueue应该自动处理所有电子邮件。我正在使用雄辩的观察员来检测事件,然后发送电子邮件

我的观察者

use App\Contact;
use App\Mail\ContactMail;
use Illuminate\Support\Facades\Mail;

class ContactObserver
{
    /**
     * Handle the Account "created" event.
     *
     * @param Contact $contact
     * @return void
     */
    public function created(Contact $contact)
    {
        if (env('MAIL_ENABLED')) // boolean value in .env
            Mail::to(['abc@example.com'])->send(new ContactMail($contact));
    }
}

我的可邮寄邮件

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

class ContactMail extends Mailable implements ShouldQueue
{
    use Queueable,SerializesModels;

    public $contact;

    /**
     * Create a new message instance.
     *
     * @param Contact $contact
     */
    public function __construct(Contact $contact)
    {
        $this->contact = $contact;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->subject("Contact - " . config('app.name'))->from(config('mail.from'))->markdown('emails.contact.new');
    }
}

我的服务提供商

use App\Contact;
use App\Observers\ContactObserver;
use Illuminate\Contracts\Container\BindingResolutionException;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     * @throws BindingResolutionException
     */
    public function boot()
    {
        Schema::defaultStringLength(191);

        $this->app->make('queue');  // without this i get >> Argument 1 passed to Illuminate\Mail\Mailable::queue() must be an instance of Illuminate\Contracts\Queue\Factory,null given,called in /var/www/html/vendor/illuminate/mail/Mailer.PHP on line 388

        Contact::observe(ContactObserver::class);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)