/** * Execute the job. * * @return void */ public function handle() { $mail = new SendMailController(); $cam = $this->campaign; // $list_ids = $cam->subscribers_lists()->select('id')->get()->pluck('id')->toArray(); $str = implode(',', $this->list_ids); $query = "select distinct email from subscribers where id in " . "(select subscriber_id from subscriber_subscribers_list where subscribers_list_id in ({$str})) limit " . $this->take . " offset " . $this->skip; $subscribers = DB::select($query); // $subscribers = $l->subscribers()->take($this->take)->skip($this->skip)->get(); foreach ($subscribers as $subscriber) { if (filter_var($subscriber->email, FILTER_VALIDATE_EMAIL)) { $url = 'http://colorme.vn/manage/email/open?cam_id=' . $cam->id . '&to=' . $subscriber->email; $content = $cam->template->content . '<img src="' . $url . '" width="1" height="1"/>'; $result = $mail->sendAllEmail([$subscriber->email], $cam->subject, $content); $email_id = $result->get('MessageId'); $email = Email::find($email_id); if ($email == null) { $email = new Email(); $email->id = $email_id; $email->status = 0; } $email->campaign_id = $cam->id; $email->to = $subscriber->email; $email->save(); } } }