Laravel поворачивает SMTP-сервер

#laravel #email #smtp

Вопрос:

Laravel 7.30
Еще несколько дней назад я использовал только один smtp-сервер, все хорошо…
Но теперь мне нужно «повернуть» SMTP-сервер, так как теперь у меня есть 4 новых сервера только для SMTP, почему бы мне не использовать очередь рассылки и какой-нибудь другой сервер, например AWS?… ну, а текущий сервер имеет много власти и IP-адресов(выделенный сервер) таким образом, платить за услуги, когда вам никто не будет использовать его полностью, в любом случае…
в настоящее время из задания стола я достаю пакет сообщений, которые необходимо отправить, сказать, что у меня 1К сообщений, в настоящее время я отправляю партиями по 250 сообщений за один оборот.

 $limit = 250;

do {

try {

Send::mail($data_message_with_template);

}
catch (Exception $e) {
// Save log of message failed with messages and continue... 
}
$proccess--;
// Some other lines not relevant...
} while ( $process > 0 ) {
return true;
}
 

Это выполняется с помощью команды, например, php artisan work:myworksend и использует конфигурацию .env SMTP, в настоящее время работает нормально, вопрос в том, как я могу изменить сервер перед отправкой следующей партии электронных писем?
Я настроил массив с конфигурацией SMTP с другого сервера плюс текущий сервер, что составляет в общей сложности 4 SMTP-сервера…

 $limit = 250;
$backup_stmp = Config::get('mail.mailers.smtp');
// that give me the current smtp server from the .env
do {
Config::set('mail.mailers.smtp', $smtp_servers[$newSmtp]);
// This do change the config mail if I print the new config after this line it shows the server data which is ok
try {
// Problem is here eventhough the server has been changed the email still using the main smtp and not the one I have indicated.
Send::mail($data_message_with_template);

}
catch (Exception $e) {
// Save log of message failed with messages and continue... 
}
$proccess--;
// Some other lines not relevant...
// Here is where I have an if $proccess is less than 2 then change the $newStmp to another server and is working...
} while ( $process > 0 ) {
return true;
}
 

Весь этот код для отправки выполняется в командной строке через cron-задание, так как можно переключать сервер на пакет сообщений?