Laravel 4 + Iron Mq: las colas se activan pero el correo no se envía

Esta es la situación :

Tengo una aplicación Laravel 4 con Iron mq instalada para acelerar el proceso. Es posible reservar un automóvil y registrarse en el sitio. En ambos casos, se envía un correo. El problema es que después de instalar Iron mq el correo ya no se envía. Todo lo demás está hecho, insertando datos en la base de datos, pero los correos que envían no. En el tablero de Iron mq, las colas se reciben regularmente y aparentemente se activan.

Esta es la ruta :

/* CARS */ Route::get('focus', function() { return View::make('iframe'); }); Route::post('focus', '[email protected]'); Route::get('sharan', function() { return View::make('iframe2'); }); Route::get('passat', function() { return View::make('iframe5'); }); // Route::post('passat', '[email protected]'); Route::post('passat', function() { return Queue::marshal(); }); /* USER REGISTRATION */ Route::get('register', '[email protected]'); Route::post('register', '[email protected]'); 

En este momento, el proceso de reservar un automóvil es más rápido, de 8/9 segundos a 3 segundos. Significa que Iron está funcionando. Aunque es extraño que haya hecho el Queue :: marshall () para una sola de las rutas posteriores, y funciona para las tres … El registro de usuarios también es más rápido, sin ninguna cola :: marshall () Pero el punto es que en ambos casos, no se envía ningún correo electrónico.

Este es el código de envío de correo :

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

Con Mail :: send funciona (pero terriblemente lento), con Mail :: queue es más rápido pero el correo electrónico no se envía.

Las preguntas principales son :

¿Por qué el correo no se envía? La configuración de SMTP no debería cambiar, ¿verdad?

¿Cuál es el lugar adecuado para Queue :: marshall ()? Si para el POST del registro debo llamar al método apropiado Route :: post (‘register’, ‘HomeController @ postRegister’); Entonces, ¿dónde tengo que poner el Queue :: marshall ()? ¿Es posible hacer una doble ruta? Llamar al método y hacer Queue :: marshall?

¡Muchas gracias! Ya para un sitio anterior tenía los mismos problemas y nunca resolvió.

El objective de esta llamada de Marshal es simplemente hacer que su aplicación procese sus trabajos de colas. Entonces, crea una ruta separada para tu mariscal, será utilizada solo por Iron:

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

Entonces solo tiene que suscribirse a su url marshal en su cola de Iron:

 http://yoursite.com/queues/marshal