Сброс пароля 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, которое запускается непосредственно перед отправкой почтовых сообщений, но это не очень хороший подход.