бд хранится конфиг, при запуске подтягивается оттуда и применяется - работает.
При попытке после этого поменять конфиг, 0 реакции до рестарта сервера.
Конфиг сетаю через Config set Такое чувство что конфиги нельзя обновлять в почте, а заказчик это требует
В чем состоит задача и сколько таких конфигов?
На сайте есть форма с данными smtp, почту могут потом поменять прямо через сайт. При этом новая почта должна сразу примениться
Тогда надо не менять а добавлять новый mailer с транспортом smtp и при отправке указывать новый добавленый конфиг, только все это будет работать если отправка будет сразу же, а не через очереди. Это как самый примитивный способ.
Это можно как-то сделать с применением MailMessage класса?
Совершенно логично что это так работает ведь мейлер в ларе singleton и инициализируется один раз, тебе нужно для каждого нового конфига новый мейлер создавать
А конфиги где то сохраняются?
Есть один единственный актуальный конфиг, он лежит в бд. Конфиг можно поменять запросом на бекенд, после этого вся почта должна работать по новому конфигу сразу.
тогда расширяешь MailManager через extend метод, добавляешь туда свой свой драйвер, например my_driver и из своей реализации возвращаешь нужные настройки mailer.
единственный способ, которым заставил это работать когда-то - сделал свой класс MailMessage, екстенднулся от того что был. и в новом классе переопределил __construct, где делал Config::set(). и, получается, все нотификейшины нужно делать екстенд от нового класса. около костыль, но работало
можешь пж скинуть код как ты это делал? Чето никак)
пингани завтра в обед где-то, посмотрю
пинг)
Обсуждают сегодня