2013-06-28 6 views
1

Я пытаюсь использовать Mail :: queue в Laravel 4 без успеха.Использование Mail :: queue with iron.io

Когда я запускаю команду:

php artisan queue: subscribe queue_name http://foo.com/queue/push 

Он создан на моей приборной панели подписчика, а также, когда я получить доступ к своей очереди маршрута /отправить новую очередь отправляются Iron.io.

Проблема заключается в том, что я никогда не получал электронную почту должна быть отправлена, когда Mail :: очередь будет выполняться.

Посмотрите мои маршруты:

<?php 
Route::post('queue/push', function() { 
     return Queue::marshal(); 
    }); 

Route::get('queue/send', function() { 
     Mail::queue('emails.teste', array(), function($message) { 
        $message->to('[email protected]', 'Renato')->subject('Welcome!'); 
       }); 

     return 'Ok'; 
    }); 

Есть ли конфигурация за queues.php мне нужно сделать?

Когда я изменить очереди/толчок (для отладки), чтобы принять GET и получить доступ к URL, появляется следующее сообщение об ошибке:

lluminate \ Encryption \ DecryptException

недопустимые данные.

+0

Вы настроили свои учетные данные в 'app/config/mail.php'? – zeantsoi

+0

Это правильно настроенный мой почтовый файл, если я использую Mail :: отправить письмо отправлено – Renato

+0

Избавьтесь от пробела между «queue: subscribe» –

ответ

3

Возможно, я выключен, но Mail::send() - это правильная функция для использования, так как вы используете Iron.io для обработки очереди.

Это должно работать:

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

    Queue::push(function($job) { 

     Mail::send('emails.teste', array(), function($message) { 
      $message->to('[email protected]', 'Renato')->subject('Welcome!'); 
     }); 

     $job->delete(); 
    } 

    return 'Ok'; 
}); 

Я также предлагаю проверить свой Iron.io счета, чтобы гарантировать, что «абонент» URL правильно настройки. Как предлагает Rob W, пространство может вызвать проблемы.

+0

Я также думал, что в нем должен быть класс с методом« fire ». 't достаточно использовать очередь очереди ... –

+0

Обычно для этого вы можете выполнить простые задачи, такие как отправка сообщения по электронной почте, класс может быть чрезмерным. L4 также поддерживает нажатие замыкания на очередь - [Queuing Closures] (http://laravel.com/docs/queues # queueing-closures) –

+3

@timF 'Mail: queue' (http://laravel.com/docs/mail#query-mail) работает с' Iron.io' – MrCasual