Laravel4 + Iron io:如何使用Mail :: queue发送邮件?

时间:2013-11-20 11:30:00

标签: php email laravel laravel-4 iron

我有一个laravel应用程序,其表单在提交时将发送邮件。 收到邮件后邮件配置正常。

但由于这个过程很慢,我决定使用Queue。

我已经设置了Iron mq帐户并在Laravel4上进行了设置。

所以我不是Mail::send而是切换到Mail::queue。这是代码:

      return \Mail::queue($this->view, $this->data, function($message) use($self)
    {
        $message->to($self->email, $self->to)->subject($self->subject);
    });

在路线上只有:

  Route::post('booking', 'HomeController@booking');
  Route::post('rezervesana', 'HomeController@booking'); // This is for the latvian version

当我提交表单时,队列在Iron mq仪表板中收到并且显然被解雇了。 但没有收到邮件..

如果我做了这样的事情:

  Route::post('booking', function()
  {
        return Queue::marshal();    
  });

然后神奇地它将在拉脱维亚版本(rezervesana)工作,但当然比英文版页面甚至不再打开..

所以我很困惑。

问题是:如何使用Mail::queue正确发送邮件以及如何在路由中处理邮件?

我认为关于Mail::queue的代码是正确的,错误可能在路线中。

所以真正的问题可能是:我如何设置路由以使队列正常工作? 哪个是Queue::marshal的适当位置?

谢谢你们! 对不起,如果它感到困惑。 希望你能向我澄清一下!

1 个答案:

答案 0 :(得分:0)

我之前使用的是SQS而不是Iron,也许你应该使用它?

Route::post('booking', array('before'=>'csrf', 'uses'=>'HomeController@booking'));