Laravel 5.8 Электронная почта с SMTP и Office 365 - PullRequest
0 голосов
/ 20 февраля 2020

Я пытался отправить электронное письмо для сброса пароля, но так и не получил письмо.

На странице нет ошибок, поэтому не уверен, как его отладить.

Ниже приведены мои .env конфигурация

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=myUsername
MAIL_PASSWORD=myPassword
MAIL_FROM_ADDRESS='From email address'
MAIL_FROM_NAME='Demo App'

Теперь, когда я сбрасываю пароль, я получаю сообщение об успехе, но не получаю электронную почту.

Когда я использую следующий фрагмент кода только для проверки электронной почты, он отлично работает

\Mail::send('emails.send', ['title' => 'Password Rest', 'message' => 'Message has the token to reset password'], function ($message)
    {
        $message->from('from email address', 'Scotch.IO');
        $message->to('To email address');
    });

Я просто тестирую с mailtrap, но буду использовать Office 365 со следующей конфигурацией

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com

Как отладить ошибку почты или решить эту проблему?

Спасибо

1 Ответ

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

Когда я использую следующий фрагмент кода только для проверки электронной почты, он отлично работает

Поскольку Mail::send() работает как задумано, тогда конфигурация почты не должна быть проблемой.

Попробуйте выполнить отладку, указав dd(), прежде чем вы вернете сообщение об успехе, и выясните, срабатывает ли даже код отправки почты для сброса пароля. Затем переключитесь в офис 365. Как только вы включите почтовую ловушку.

РЕДАКТИРОВАТЬ после комментариев OP:

Похоже, пользовательский класс может быть настроен неправильно. Пожалуйста, проверьте, что пользовательский класс реализует черту Illuminate\Notifications\Notifiable согласно предупреждению в документации 1015 *

Если все остальное не удалось, вы можете попробовать переопределить функцию sendPasswordResetNotification согласно документация под заголовком настройки электронной почты сброса. Эта функция является фактической функцией, вызываемой sendResetLinkEmail()

...