Мне нужно динамически изменять параметры SMTP почты, такие как MAIL_HOST
и MAIL_USERNAME
.
Для этого я использую Config::set()
для динамической установки этих значений.
# This code works
Config::set('mail.host', 'smtp.gmail.com');
Mail::to('user@example.com')->send(new myMailable());
Приведенный выше код работает, если я не ставлю почту в очередь.
В тот момент, когда я ставлю его в очередь, Config::set()
не может установить значения.
Тест для подтверждения Config::set()
не работает с заданиями в очереди -
Я создал простую работу и поместил приведенный ниже код в обработчик.
public function handle()
{
# set the config
Config::set('mail.host', 'smtp.gmail.com');
# confirm config has been set correctly
logger('Setting host to = [' . config('mail.host') . ']');
}
Приведенный выше код создает следующую запись в журнале.
Setting host to = []
Почему я не могу изменить Config
на лету для заданий в очереди? И как это решить?