Laravel 5.6 пароль для сброса почты не отправляется на Heroku - PullRequest
1 голос
/ 19 марта 2019

У меня сейчас проблема с почтой для сброса пароля, созданной make:auth in Laravel 5.6.Мое приложение размещено на Heroku.В моем местном окружении все работает отлично.Я установил правильные значения в настройках в Heroku, то же самое в моем локальном файле .env:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myMail@gmail.com
MAIL_PASSWORD=bla
MAIL_ENCRYPTION=tls

Я прочитал здесь, что я должен жестко кодировать значения внутри app/mail.php вместоссылка на файл .env, потому что Heroku не распознает / не поймет эту ссылку

'password' => env('MAIL_PASSWORD')

Но тогда мои данные будут видны в репозитории GitHub.

В чем может быть проблема?

РЕДАКТИРОВАТЬ:

Принятый ответ по праву является правильным ответом.Надо использовать дополнение для отправки писем в Heroku.Тем не менее я нашел способ заставить его работать с gmail после настройки sendgrid;)

- Мне пришлось использовать Port 465 with ssl в качестве шифрования.

-Allow less secure apps доступ к моей учетной записи.

-Посещение http://www.google.com/accounts/DisplayUnlockCaptcha и войдите с вашим именем пользователя и паролем Gmail.

После этих шагов все заработало.Может быть, это полезно для других.

1 Ответ

2 голосов
/ 19 марта 2019

Не используйте Gmail в работе¹.

Gmail не предназначен для шлюза SMTP для вашего приложения. Вместо этого используйте один из множества почтовых аддонов , которые рекомендует Heroku. Mailgun и SendGrid - очень популярные опции, но есть и много других.

Эти инструменты предназначены для отправки почты для приложений. Они будут с меньшей вероятностью отклонять вашу почту и, при правильной настройке, значительно снизят вероятность того, что ваша почта попадет в спам-фильтры. У большинства из них есть пошаговые инструкции по настройке, и я призываю вас следовать им. Не пропустите функции защиты от спама SPF и DKIM .

Я прочитал здесь, что мне нужно жестко закодировать значения внутри app/mail.php вместо ссылки на файл .env, потому что Heroku не распознает / не поймет эту ссылку

'password' => env('MAIL_PASSWORD')

Это неверно.

Вы говорите, что вы установили переменные конфигурации в Heroku, и это заполняет среду. Файл .env - это просто удобный локальный обходной путь для того же. Какой бы почтовый аддон вы ни выбрали, он автоматически установит для вас одну или несколько переменных среды, и вы должны использовать их в своем коде.


probably Вы, вероятно, не должны использовать его в разработке , но это не проблема. Я призываю вас использовать что-то вроде Mailtrap (облачное) или Mailcatcher (локальное).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...