Люмен отправлять электронные письма - PullRequest
0 голосов
/ 23 сентября 2019

У меня небольшая проблема. Я пытаюсь отправить электронное письмо каждому пользователю с его просроченными задачами. Я уже создал консольную команду, потому что я хочу сделать работу cron. У меня есть что-то вроде этого в моем методе handle:

public function handle()
{
 $tasks = Task::where('due_at', '<', Carbon::now()->toDateString())->where('is_complete', Task::INCOMPLETE)->with('user')->get()->groupBy('user_id');

 foreach($tasks as $task) {

  foreach($task as $tasksUser) {
    $this->emailService->sendOverdueTasks($task, $tasksUser->user->email);
  }

 }

}

Вот мой почтовый сервис:

public function sendOverdueTasks($tasks, $email)
{
 Mail::send('emails.overdue', ['tasks' => $tasks, 'email' => $email], function ($message) use ($tasks, $email) {
  $message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
  $message->subject(env('APP_NAME') . ' - Overdue tasks');

  $message->to($email);
 });
}

Но я пытаюсь отправить все письма одновременно или слишком быстро, и, думаю, это будет проблемой.Какое оптимальное решение для этого?

...