首页 > 解决方案 > 这是在 Laravel 中一次发送多封邮件的好方法吗?

问题描述

我仍在学习 Laravel,需要一些建议... 长话短说,我有一个小脚本,应该在客户需要续订合同前 15 天向客户发送邮件。现在,代码确实有效。而且我们的客户名单相对较少。不过,我很好奇。这是一个好方法吗?它有效率吗?使用数据库查询会更好吗?无论如何,这是代码......

    $hosting=hosting::where('id','>',0);
    $dateToday=date('Y-m-d');
    $inFifteenDays=date('Y-m-d', strtotime($dateToday. ' + 15 days'));
    $hosting=$hosting->whereDate('datum_obnove','<=',($inFifteenDays));
    $hosting=$hosting->whereDate('datum_obnove','>=',($inFifteenDays))->get();
    foreach ($hosting as $hosting) 
    {
        $dataForSending=array();
        $dataForSending= array(
            'klijent' =>$hosting['kontakt'] , 
            'domena' =>$hosting['naziv_domene'],
            'mail' =>$hosting['mail']  
        );
    Mail::to($dataForSending['mail'])->queue(new HostingMail($hosting));
    }

提前感谢<3

标签: laravelemaillaravel-mail

解决方案


欢迎来到 StackOverflow!

确实有很多因素决定在遇到问题之前何时值得优化代码,但看起来你已经在使用 Laravel 队列,这是一个很好的第一步。您至少可以监控您的队列(https: //horizo​​n.laravel.com/,如果您选择使用它)以查看它们是否陷入困境或是否存在问题。前一个建议需要您安装Redis

如果有问题,您可以修改速率限制以确保您的应用程序仍然可以正常处理性能。

这些建议现在仍然超出预期。我建议从您拥有的东西开始,监控性能,并在必要时使用上述建议。祝你好运!


推荐阅读