Laravel 6 отправить почту - PullRequest
       1

Laravel 6 отправить почту

0 голосов
/ 14 февраля 2020

У меня проблема с аутентификацией при отправке почты с Laravel драйвером smtp.

.env file:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=account@gmail.com
MAIL_FROM_ADDRESS=account@gmail.com
MAIL_PASSWORD=app_password
MAIL_ENCRYPTION=tls

Выдает следующую ошибку:

"530-5.7.0 Требуется аутентификация."

  • Включена двухфакторная аутентификация и используется пароль приложения;

  • Также пытался с SSL на 465, та же ошибка;

  • Конфиг сбрасывается при каждом изменении .env;

  • Все в конфигурации / mail соответствует .env;

ТАК все типичные решения не работают. Что еще может вызвать эту проблему?

Я также пытался использовать smtp.vivaldi. net с учетной записью vivaldi, он аутентифицируется, но выдает ошибку:

"нет действительных получателей "

, хотя электронная почта получателя, несомненно, действительна, что также странно для меня.

Ответы [ 3 ]

2 голосов
/ 14 февраля 2020

Я уже сталкивался с этим несколько раз, поэтому я не помню точное сообщение об ошибке, которое я получил, но вот мое предположение.

У Google есть опция под названием "менее безопасные приложения", которую вы необходимо включить для того, чтобы отправлять непосредственно письма через их SMTP-интерфейс. Можете ли вы проверить, отключен ли этот флаг, и попытаться включить его?

https://support.google.com/a/answer/6260879

В дополнение к этому Google медленно отказывается от этой функции. Начиная с середины 2020 года, вы больше не сможете включать этот флаг, и они полностью удалят его в 2021 году.

Ссылка: https://gsuiteupdates.googleblog.com/2019/12/less-secure-apps-oauth-google-username-password-incorrect.html

1 голос
/ 14 февраля 2020

Во-первых, вам нужно настроить двухэтапную проверку здесь google security . Появится ссылка «Пароль приложения», и вы сможете получить свой пароль приложения для вставки в поле «MAIL_PASSWORD». Подробнее о получении пароля приложения здесь

MAIL_DRIVER=smtp
MAIL_FROM_ADDRESS=noreply@talhaf.com
MAIL_FROM_NAME=System
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=YOUR_GMAIL@gmail.com
MAIL_PASSWORD=YOUR_GMAIL_CREATED_APP_PASSWORD
MAIL_ENCRYPTION=tls

Не забудьте очистить кеш с помощью:

php artisan config:cache
0 голосов
/ 15 марта 2020

Проблема была в том, что я напутал с config/mail.php.

Я написал

'username' => env('email'), 'password' => env('app_password'),

Вместо

'username' => env('MAIL_USERNAME','email'), 'password' => env('MAIL_PASSWORD','app_password'),

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