2

laravel 5 アプリがあり、サービス sendinblue を介してパスワードのリセット リンクを送信する必要があります。PasswordBroker.php で sendinblue を使用するようにコア機能を変更するにはどうすればよいですか?

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);
            }
        });
}
4

1 に答える 1

2

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」イベントをリッスンすることもできますが、これは良い方法ではありません。

于 2016-05-30T16:12:03.723 に答える