Использование Mail::queue с iron.io

Я пытаюсь использовать очередь Mail::queue в Laravel 4 безуспешно.

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

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('me@mesite.com', 'Renato')->subject('Welcome!');
                });

        return 'Ok';
    });

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

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

lluminate \ Encryption \ DecryptException

Неверные данные.

1 ответ

Решение

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

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

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

    Queue::push(function($job) {

        Mail::send('emails.teste', array(), function($message) {
            $message->to('me@mesite.com', 'Renato')->subject('Welcome!');
        });

        $job->delete();
    }

    return 'Ok';
});

Я бы также предложил проверить вашу учетную запись Iron.io, чтобы убедиться, что URL-адрес подписчика настроен правильно. Как предполагает Роб У., пространство может вызывать проблемы.

Другие вопросы по тегам