2016-03-08 53 views
1

我想先加载页面,然后激活$邮件发送电子邮件。因为当我点击转到下一页其采取时间,因为它发送电子邮件,然后它正在加载,所以,Laravel:加载一个页面,然后发送邮件

什么是最好的方式来做到这一点。或任何方式。因为我无法弄清楚。

这里片断

public function sInterest($project_id, AppMailer $mailer) 
{ 

    $project = Project::findOrFail($project_id); 
    if($project->investment){ 
     $mailer->sendInterestNotificationI($user, $project); 
     $mailer->sendInterestNotificationD($project, $user); 
     $mailer->sendInterestNotificationA($project, $user); 
     return view('projects.offer', compact('project')); 
    } 
} 

是有办法$邮件返回页面后激活?

+1

最好的方法是将邮件发送到队列并处理队列。 –

回答

0

在你AppMailer sendInterestNotification *()方法,替换排队的电子邮件传送同步电子邮件传送(见Laravel文档中Queueing Mail

然后页面会立即返回,电子邮件将在相应的队列来放。你将不得不编辑.ENV文件,以改变队列驱动器和启动队列侦听器作为一个单独的进程,detailed documentation上Laravel网站给出

有没有办法可以在页面返回到浏览器,然后运行一些额外的命令在您的控制器中。

相关问题