Я пытаюсь отправить электронную почту пользователям навалом. Я настроил очередь и супервизора в соответствии с документацией laravel, но получатели в Mail складываются, и я действительно не знаю, что не так, потому что в коде все выглядит хорошо. Вот как я в очереди почты.
$message = (new \App\Mail\EmailUpdate(request('subject'),request('message')))->onQueue('emailsDefault');
foreach($users as $user){
\Mail::to($user)->queue($message);
}
Я подумал, что может возникнуть проблема с выбором сегмента пользователей из базы данных. Но я попробовал с php artisan tinker
, и он показывает отличные результаты. Вот как я получаю коллекцию пользователей из базы данных.
$users = User::join('user_metas','users.id','=','user_metas.user_id')
->where('meta_key','plan')
->where('meta_value','free')
->select('users.id')
->get();
В части получателей электронной почты я вижу увеличение количества получателей. Вот как это выглядит в mailtrap.io.
Любая помощь будет оценена. Я не знаю, что мне здесь не хватает. Вот мой EmailUpdate Mailable .
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class EmailUpdate extends Mailable
{
use Queueable, SerializesModels;
public $subject;
public $update;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($subject,$update)
{
$this->subject = $subject;
$this->update = $update;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.emailUpdate')
->subject($this->subject);
}
}