首页 > 解决方案 > 在 laravel 5.4 中运行任务计划时邮件不起作用

问题描述

我试图使用cron工作发送邮件。

我有一张department桌子和一张activity桌子。如果我运行命令然后发送邮件,但问题是我希望每个部门都能收到他们的活动邮件。

例如:我有SD部门。该SD部门将收到他们的活动邮件,而其他部门将不会收到此邮件。

我在这里上传我的代码。请建议我如何解决这个问题。预先感谢。

   public function sendNotificationForDepartment()
    {
        $departmentInfo = Department::pluck('department_name');

        foreach ($departmentInfo as $department_name) {
            $headMail = User::join('departments', 'departments.id', 'users.department_id')
                ->where('departments.department_name', '=', $department_name)
                ->where('users.is_head', 'Yes')
                ->orderBy('department_name')
                ->select('users.email')->get();



            $departmentPending = IssueCustomer::leftJoin('assets', 'assets.id', 'issue_customers.plate_no')
                ->join('departments', 'departments.id', 'issue_customers.department_id')
                ->where('departments.department_name', $department_name)
                ->where('issue_customers.issue_status', '!=', 'Done')
                ->where('issue_customers.organisation_id', 1)
//                    ->where('issue_customers.issue_status', '=', 'Pending')
//                    ->orwhere('issue_customers.issue_status', '=', 'Processing')

                ->select('issue_customers.id',
                    'departments.department_name',
                    'issue_customers.organisation_name',
                    'issue_customers.issue_symptom',
                    'issue_customers.remarks',
                    'assets.registration_no',
                    'issue_customers.issue_posted_at'
                )->get();



            if(count($departmentPending) > 0) {
                Mail::to($headMail)
                    ->queue(new CustomerIssuePendingMail($departmentPending));
            } else {
                $this->info('No pending status found');
            }

        }

    }

标签: phplaravel

解决方案


推荐阅读