@jazzus

Почему не отправляется авто-письмо верификации емейл?

При регистрации пользователя (Laravel Auth) должно отправляться емейл верификации. И это письмо перестало отправляться само по себе. Только если кликнуть на ссылку запроса этого письма (типа если вам не пришло письмо нажмите сюда). В этом случае письмо сразу приходит. А если юзер зарегистрировался и никуда не кликает, то нет.

При этом
Ошибок в логах нет.
Юзер видит страницу с сообщением, что нужно подтвердить емейл.
У юзера нет доступа, кроме как на эту страницу (т.е. само правило работает)
В web.php включено
Auth::routes(['verify' => true]);
Последнее событие с регистрацией – я сделал запись в EventServiceProvider.php
'Illuminate\Auth\Events\Registered' => [
            'App\Listeners\Auth\LogRegisteredUser',
        ],

В ивент – запись лога о новой регистрации.

Что посмотреть/проверить? Я включал лог в env:
MAIL_DRIVER=log
Но туда попадало только сообщение, которое отправляется с помощью Mail в RegisterController (уведомление модератору). Думал может отправка юзеру конфликтует с отправкой модеру, закомментировал, результата нет. В итоге все события, связанные с почтой работают, кроме авто-письма верификации
  • Вопрос задан
  • 348 просмотров
Решения вопроса 1
@jazzus Автор вопроса
Ошибка была, как раз в EventServiceProvider.php.

Были конфликтующие классы (тот который закомментирован)
Registered::class => [
            SendEmailVerificationNotification::class,
            'App\Listeners\Auth\LogRegisteredUser'
        ],

        // 'Illuminate\Auth\Events\Registered' => [
        //     'App\Listeners\Auth\LogRegisteredUser',
        // ],

Непонятно почему Laravel не выдавал ошибку. Просто не отправлял письмо.
Также, если кто будет с такой же проблемой, не забудьте
php artisan config:cache
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@procode
Разработчик
Посмотрите в папке спам

Протестируйте из консоли почту:

echo "Test of Mail body" | mail -s "subject" yourmail@gmail.com

Вместо yourmail@gmail.com укажите свой реальный адрес
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы