Я пытаюсь отправить массовую электронную почту (около 5000) подписчику. Я отправляю все письма в B CC и Mail :: queue (). Я запускаю команду из консоли для запуска электронной почты.
try {
$bccEmails = ['test@test.com', 'xyz@gmail.com', 'abc@gmail.com', 'anb@hotmail.com', 'xyzz@yahoo.com'];
Mail::queue('Emails.Newsletter', $data,
function ($message) use ($bccEmails, $subject) {
$message->from('no-reply@test.com', 'xyz.com')
->bcc($bccEmails)
->replyTo($this->adminEmail, $this->adminName)
->subject($subject);
});
} catch (Exception $ex) {
Log::info("Email sending error: ".$ex->getMessage());
}
Но я получаю ошибку, как показано ниже:
"Expected response code 250 but got code "421", with message "421 too many messages in this connection"
Как решить вышеуказанную проблему?
Каков наилучший способ отправки массовых писем пользователям?
Второй вопрос : какой из них лучший подход. Как упоминалось выше, Mail: очередь или Mail: отправьте в l oop, как показано ниже:
$toEmails = ['test@test.com', 'xyz@gmail.com', 'abc@gmail.com', 'anb@hotmail.com', 'xyzz@yahoo.com'];
foreach ($toEmails as $key => $email) {
try {
Mail::send('Emails.Newsletter', $data,
function ($message) use ($email, $subject) {
$message->from('no-reply@test.com', 'xyz.com')
->to($email)
->replyTo($this->adminEmail, $this->adminName)
->subject($subject);
});
} catch (Exception $ex) {
Log::info("Email sending error: ".$ex->getMessage());
// If failed continue sending next email
}
}
Использование: Laravel 5.2, Общий хостинг
Пожалуйста, помогите в этом. Дайте мне знать, если потребуется дополнительная информация.