2017-11-28 8 views
0

내 메일 laravel이 같은전자 메일을 사용하는 이유 메일을 보낼 때 laravel이 shouldqueue를 사용하면 작동하지 않습니까? 이 같은

<?php 
namespace App\Mail; 
use Illuminate\Bus\Queueable; 
use Illuminate\Mail\Mailable; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Contracts\Queue\ShouldQueue; 
class OrderReceivedMail extends Mailable implements ShouldQueue 
{ 
    use Queueable, SerializesModels; 
    public $order; 
    public $store; 
    public function __construct($order, $store) 
    { 
     $this->order = $order; 
     $this->store = $store; 
     $this->subject('subject'); 
    } 
    public function build() 
    { 
     $company_email = explode(',',config('app.mail_company')); 
     return $this->view('vendor.notifications.mail.email-order-received',['number'=>$this->order->number, 'store_name' => $this->store->name])->bcc($company_email); 
    } 
} 

내 ENV : 코드가 실행되면

BROADCAST_DRIVER=pusher 
CACHE_DRIVER=redis 
SESSION_DRIVER=file 
QUEUE_DRIVER=redis 

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379 

, 그것은 작동하지 않습니다. 전자 메일을 보내지 못했거나 메일 코드가 실행되지 않았습니다.

그러나 implements ShouldQueue을 제거하면 작동합니다. 전자 메일 성공 성공

왜 shouldqueue를 사용하면 작동하지 않습니까?

+0

농가를 사용합니까? – lewis4u

+0

@ lewis4u, 어떻게 농가를 사용하고 있다는 것을 알 수 있습니까? 어디에서 확인합니까? –

+0

Homestead는 Laravel에 필요한 모든 소프트웨어가 미리 설치된 가상 시스템입니다. Laravel과 어떻게 협력합니까? 어떤 운영 체제를 사용합니까 (Windows, MAC OS, Linux)? – lewis4u

답변

0

ShouldQueue을 사용하면 이메일이 즉시 전송되지 않습니다. 대기열 작업자를 실행해야합니다. https://laravel.com/docs/5.5/queues#running-the-queue-worker

+0

하지만 그는 농가도 사용하지 않는 경우 작동하지 않습니다! 특히 그가 Windows와 XAMPP를 사용하고 있다면 – lewis4u

+0

나는 자신이 제공 한 env 부분으로 redis를 구성했다고 가정합니다. Btw. 농가는 거룩한 성배가 아니며, 그는 너무 laradock을 사용하고있을 수도 있습니다. :) – lchachurski

+0

나는 그가 심지어 홍채가 무엇인지, 농가가 무엇 인지도 모른다고 생각합니다. – lewis4u