使用Mail :: queue和iron.io

时间:2013-06-28 18:06:26

标签: php laravel laravel-4

我正在尝试使用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时,会出现以下错误:

lluminate \加密\ DecryptException

数据无效。

1 个答案:

答案 0 :(得分: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帐户,以确保正确设置“订阅者”网址。正如Rob W所暗示的那样,这个空间可能会引发问题。