2013-11-20 55 views
0

我有一個表單,當它被提交的laravel應用程序將發送一封郵件。 郵件配置在收到郵件後正常工作。Laravel4 + Iron io:如何使用Mail :: 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', '[email protected]'); 
    Route::post('rezervesana', '[email protected]'); // This is for the latvian version 

當我提交表單,隊列中鐵MQ儀表盤收到,顯然被解僱。 但沒有郵件收到..

相反,如果我做這樣的事情:

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

然後神奇地將在拉脫維亞的版本(rezervesana)工作,但當然比英文版的頁面竟然不打開了..

所以我很困惑。

問題是:如何使用Mail::queue正確發送郵件以及如何在路由中處理郵件?

我認爲關於Mail::queue的代碼是正確的,在路由中可能會出現什麼問題。

所以真正的問題可以是:我如何設置路線才能使隊列正常工作? 這是Queue::marshal的地方嗎?

謝謝你們! 很抱歉,如果它是困惑。 希望你能向我澄清一下!

回答

0

我以前用過SQS但不是鐵,也許你應該用這個?

Route::post('booking', array('before'=>'csrf', 'uses'=>'[email protected]')); 
相關問題