Сброс пароля Laravel 5 через sendinblue

У меня есть приложение laravel 5, и мне нужно отправить ссылку для сброса пароля через сервис sendinblue. Как я могу изменить основные функции, чтобы использовать sendinblue в PasswordBroker.php?

public function emailResetLink(
    CanResetPasswordContract $user,
    $token,
    Closure $callback = null
) {
    $mailin = new Mailin(
        'https://api.sendinblue.com/v2.0',
        '0TYSSJBSKERNDKW'
    );

    $view = $this->emailView;

    return $this->mailer->send(
        $view, 
        compact('token', 'user'),
        function($m) use ($user, $token, $callback) 
        {
            $m->to($user->getEmailForPasswordReset());

            if ( ! is_null($callback))
            {
                call_user_func($callback, $m, $user, $token);
            }
        });
}

1 ответ

Вы пытались добавить Sendinblue в качестве почтового драйвера? Это может помочь github-репо ( https://github.com/agence-webup/laravel-sendinblue)

Здесь все ваши электронные письма будут отправлены Sendinblue, и вы отправите как обычное письмо в Laravel ( https://laravel.com/docs/5.1/mail)

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

Config::set('mail.driver', 'driver_name');
(new Illuminate\Mail\MailServiceProvider(app()))->register();  

Также вы можете попытаться прослушать событие mailer.sending, которое запускается непосредственно перед отправкой почтовых сообщений, но это не очень хороший подход.

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