Мне нужно отправить электронное письмо за несколько часов до назначенной встречи (поэтому мне нужно использовать CRON, но оно отключено c).
Обычно в моем контроллере я использую внутренний метод, который использует Mail::send($view, $data, ...)
, и он работает.
Однако, когда я вызываю тот же внутренний метод из командной строки через php artisan my:command
, который зарегистрировано в kernel
Я получаю:
[Swift_TransportException]
Connection could not be established with host ssl0.ovh.net [Connection refused #111]
Обратите внимание, что на моем компьютере разработчика вышеуказанная команда работает без сбоев и раньше работала (6 месяцев go согласно журналам).
Часть проекта .env
, касающаяся электронной почты, состоит из:
MAIL_DRIVER=smtp
MAIL_HOST=ssl0.ovh.net
MAIL_PORT=465
MAIL_USERNAME=myusername
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=ssl
Так что, похоже, ssl0.ovh.net
нельзя вызвать из командной строки. Но как я могу заставить команду расписания работать?
Редактировать (решено):
После прочтения некоторых постов на тех же топиках c и этого в частности представляется, что mail_driver
должно быть mail
вместо smtp
. Я попробовал это, прежде чем задавать вопрос, но это ничего не изменило.
Позже, пытаясь изменить mail_host
, не видя каких-либо изменений в поведении, я очистил кеш конфигурации с помощью artisan config:clear
. И изменения начали учитываться, и выбор mail
сработал.
Таким образом, отмена при изменении на mail
не работает, это попытаться очистить кеш конфигурации
Любая помощь с благодарностью: -)