我刚在服务器上设置了beanstalkd / supervisor配置。队列正在运行,但当我尝试联合使用Laravel的邮件功能时,电子邮件不会发送。
我确实使用gmail发送邮件,这在我的其他常规代码中使用Mail :: send时不是问题。当我通过队列尝试时,它似乎只是不发送。
路线:
Route::get('/', function() {
$test = "my name";
Queue::push('DuplicateAccount', $test);
});
类别:
class DuplicateAccount {
public static function fire($job, $data) {
self::send($data);
$job->delete();
}
public static function send($data) {
$admin = 'MyEmail';
Mail::send('emails.admin.duplicate', array('duplicate'=>$data), function($message) use ($admin) {
$message->to($admin, 'MyName')->subject('Subscription Duplicate');
});
Log::info('a. Mail '.$data.' to '.$admin.'.');
}
}
答案 0 :(得分:4)
我的邮件驱动程序设置显然存在问题。在处理队列电子邮件的序列化时,很可能是gmail和我的php.ini配置的问题。
我改为smtp并开始工作。
答案 1 :(得分:0)
我认为您需要启动队列侦听器
php artisan queue:listen
请访问链接(http://laravel.com/docs/queues#running-the-queue-listener)