#laravel #laravel-5.8 #laravel-mail
#laravel #laravel-5.8 #laravel-mail
Вопрос:
Я использую laravel версии 5.8. Для отправки неблокирующих писем через очереди я использую почтовый фасад, как описано в документах. В разработке я использую mailtrap.io чтобы подтвердить отправку писем, в рабочей среде я использую фактический smtp-сервер. Использование метода Mail::send отправляет почту через фактический smtp-сервер. Используя метод Mail::queue, почта по-прежнему отправляется с mailtrap.io сервер, хотя я очистил кеш конфигурации.
Единственная ссылка на mailtrap.io в файлах, которые я могу найти, есть мой файл development .env, который я не использую в производстве.
Я не могу понять, почему почта отправляется на mailtrap.io сервер, использующий очередь, а не на smtp-сервер, как это делается с помощью отправки на почтовом фасаде.
Ответ №1:
Нашел это. Потоки, запущенные с помощью php artisan queue: work, сохраняют старую конфигурацию до тех пор, пока они не будут остановлены (и перезапущены). В системе запущен супервизор для запуска потоков. Я делал это в режиме обслуживания и с временной средой разработки. Это сохранило mailtrap.io ссылка для очереди. После остановки и перезапуска supervisor потоки теперь используют производственную среду и, следовательно, правильный smtp-сервер.