我正在尝试使用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
数据无效。
答案 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所暗示的那样,这个空间可能会引发问题。