Laravel отправка электронной почты многим пользователям - PullRequest
0 голосов
/ 04 августа 2020

Я работал над системой, которая отправляет электронную почту пользователю 30K, я использую очередь и отлично работаю на локальном хосте с ограниченным пользователем, но в реальном времени не отправляет почту ... что мне делать?

моя работа по отправке почты:

class NewestInWeekForSubscription implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    public function handle()
    {

       foreach (User::cursor() as $user) {
            try{
                if ($user->hasTriedLaminorPlus()) {
                    if ($user->email) {
                        Mail::to($user)->queue(new \App\Mail\NewestInWeekForSubscription($user));
                        dump('email sent to ' . $user->email);
                    }
                }
            }
            catch (\Exception $e){
                dump('email not send to ' . $user->email);
                continue;
            }
        }
    }

моя структура почты:

class NewestInWeekForSubscription extends Mailable
{
    use Queueable, SerializesModels;

   public function __construct(User $user,) {
    $this->user          = $user;
}
    public function build()
    {
        return $this->subject(trans('views.email.marketing.title'))
                    ->view('emails.newest-week-for-subscription');
    }
}

1 Ответ

0 голосов
/ 04 августа 2020

Думаю, лучше использовать функцию bcc() вместо foreach.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...