1

我试图在 Laravel 4中使用Mail::queue但没有成功。

当我运行命令时:

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

它是在我的仪表板上创建一个订阅者,当我访问我的路由队列/发送一个新队列时,它也会发送到 Iron.io。

问题是我从来没有收到应该在Mail::queue执行时发送的电子邮件。

看看我的路线:

<?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 我需要做任何配置吗?

当我更改队列/推送(用于调试)以接受 GET 并访问 URL 时,出现以下错误:

发光\加密\解密异常

无效数据。

4

1 回答 1

3

我可能会离开,但这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 设置正确。正如 Rob W 所建议的那样,该空间可能会引起问题。

于 2013-06-28T20:22:04.513 回答