2014-06-14 5 views
3

방금 ​​서버에 beanstalkd/supervisor 구성을 설정했습니다. 대기열이 작동하지만 Laravel의 메일 기능을 함께 사용하면 이메일이 전송되지 않습니다.Laravel 메일이 큐를 통해 전송되지 않음

메일을 보내기 위해 gmail을 사용합니다. 다른 일반 코드에서 Mail :: send를 사용할 때 문제가되지 않았습니다. 대기열을 통해 시도 할 때만 전송되지 않는 것 같습니다.

경로 :

Route::get('/', function() { 

    $test = "my name"; 

    Queue::push('DuplicateAccount', $test); 

}); 

등급 :

class DuplicateAccount { 

    public static function fire($job, $data) { 

    self::send($data); 

    $job->delete(); 

    } 

    public static function send($data) { 

    $admin = 'MyEmail'; 

    Mail::send('emails.admin.duplicate', array('duplicate'=>$data), function($message) use ($admin) { 
     $message->to($admin, 'MyName')->subject('Subscription Duplicate'); 
    }); 

    Log::info('a. Mail '.$data.' to '.$admin.'.'); 

    } 

} 
+0

무엇이 오류입니까? 단순히 Mail :: queue ('emails.welcome', $ data, function ($ message) {...});를 사용할 수도 있습니다 [Check Here] (http://laravel.com/docs/mail # queuing-mail). –

+0

나는 Def하지만 Mail :: queue를 사용하려고 시도했지만 아무것도 보내지 않았다. Mail :: send는 작동하지만 일괄 처리를 보낼 때는 사용하는 것이 좋습니다. – PaulELI

답변

3

메일 드라이버 설정에 문제가있는 것 같습니다. 대기열에있는 이메일의 직렬화를 처리 할 때 gmail과 php.ini 설정에 문제가있을 가능성이 큽니다.

smtp로 변경되어 작동하기 시작했습니다.

+0

당신은'php.ini' 파일의 어떤 줄을 언급 할 수 있습니까? 메일 템플릿에서 사용자 모델에 액세스 할 수 없기 때문에 나는 별도로 데이터를 파싱해야한다. – imrealashu

0

난 당신이 큐 리스너를 시작할 필요가 있다고 생각

php artisan queue:listen

링크를 방문하시기 바랍니다 (http://laravel.com/docs/queues#running-the-queue-listener)

+0

죄송합니다. 이미 설정했습니다. 분명히 메일 드라이버에 문제가있었습니다. 내가 smtp로 변경하고 작동합니다. – PaulELI

관련 문제