2017-02-13 19 views
2

У меня нет никаких проблем с отправкой синхронных писем, но те, которые получают выполняются на очередь с помощью Mail :: очередей бросают следующую ошибку:BindingResolutionException при отправке почты в люменах Работа

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 

все настроено правильно, как электронная почта посылается, когда я делаю это синхронно

ответ

3

После того, как так много проблем с отправкой электронной почты внутри Lumen Джобса, я инкапсулированные отправки электронной почты в работе, которая работает с mailables, как это:

MailDisp atcher.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); 
    } 
} 

Затем, когда я хочу стоять в очереди на почту ...

$mail = new MyMailableMail($user); 
dispatch(new MailDispatcher($mail)); 

И это работает правильно

+0

боролись с этим весь вечер, и это сделал. Спасибо – sjosen