Laravel mailtrap не работает на localhost

У меня есть проект Laravel 7.0, когда я пытаюсь отправить электронное письмо в mailtrap, он выдает следующую ошибку.

Swift_TransportException Неподдерживаемые флаги команды sendmail []. Должен быть одним из "-bs" или "-t", но может включать дополнительные флаги.

В моем файле.env есть следующие

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=MY_USERNAME
MAIL_PASSWORD=MY_PASSWORD
MAIL_FROM_ADDRESS=from@example.com
MAIL_FROM_NAME=Example
MAIL_ENCRYPTION=tls

Также пытался очистить кеш конфигурации, но это не работает.

php artisan config:cache

4 ответа

Обязательно перезапустите очередь и снова запустите работу:

php artisan queue:restart

php artisan queue:work

Из документации: поскольку работники очереди - это долгоживущие процессы, они не заметят изменений в вашем коде без перезапуска. Итак, самый простой способ развернуть приложение с использованием обработчиков очереди - это перезапустить работников во время процесса развертывания.

В моем случае

      php artisan config:clear

Решил проблему.

У меня такая же проблема, попробуйте, если вы используете Gmail, также добавьте MAIL_FROM_ADDRESS

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=********@gmail.com
MAIL_PASSWORD=********
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=*********gmail.com
MAIL_FROM_NAME="${APP_NAME}"

Убедитесь, что в config/mail.php

'sendmail' => [
   'transport' => 'sendmail',
   'path' => '/usr/sbin/sendmail -bs', // <-- Here
],

Как определено в laravel/laravelрепозиторий здесь

Другие вопросы по тегам