Laravel 5 Mail :: raw работает в тинкере, но не в приложении - PullRequest
0 голосов
/ 13 января 2020

У меня очень странная проблема при отправке электронной почты SMTP из Laravel

Mail::raw('Email body', function ($message) use ($filename) {
            $message->from('sender@email.com', 'Ordini')
              ->to('user@email.com')
              ->subject('subject')
              ->attach(storage_path($filename));
        });

Этот код на самом деле работает в серверной среде tinker , но это не так t когда он выполняется в controller .

Я дважды проверил .env и config / mail. php, все в порядке

Почта сервера принадлежит моему клиенту smtp почтовый сервер

Я также пытался без каких-либо вложений

Ответ " Ожидаемый код ответа 250, но получил пустой ответ "

Я могу " не могу понять, почему он работает в тинкере, а в приложении - нет. Какая разница?

Спасибо за совет

1 Ответ

0 голосов
/ 13 января 2020

Убедитесь, что вы не включили двухэтапную аутентификацию в своей почте Gmail и разрешили менее защищенные приложения в своей учетной записи Google. После проверки всего этого просто попробуйте выполнить команду

php artisan config:clear
php artisan cache:clear
php artisan view:clear

Убедитесь, что файл env содержат эту информацию

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls

А потом

Вместо вашего почтового кода попробуйте вот так

        Mail::raw('Email body', function ($message) use ($filename) {
            $message->from('sender@email.com', 'Ordini');
            $message->to('user@email.com');
            $message->subject('subject');
            $message->attach(storage_path($filename));
        });

Проверьте в конфиге / почте. php Если это получает все из env или нет, если не вносит изменения в конфигурационный файл

...