Laravel邮件不通过队列发送

时间:2014-06-14 15:40:41

标签: php email laravel queue

我刚在服务器上设置了beanstalkd / supervisor配置。队列正在运行,但当我尝试联合使用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.'.');

  }

}

2 个答案:

答案 0 :(得分:4)

我的邮件驱动程序设置显然存在问题。在处理队列电子邮件的序列化时,很可能是gmail和我的php.ini配置的问题。

我改为smtp并开始工作。

答案 1 :(得分:0)

我认为您需要启动队列侦听器

php artisan queue:listen

请访问链接(http://laravel.com/docs/queues#running-the-queue-listener