Laravel 5.8:用户单击验证链接后如何发送电子邮件

Don*_*yao 5 php laravel laravel-events laravel-5.8

我实现了身份验证系统,php artisan make:auth并且已经通过来自 laravel 功能的 MustVerify 设置了用户电子邮件验证

我想在用户单击验证链接后发送另一封电子邮件(问候邮件)。我怎样才能做到这一点?

Dan*_*iel 11

当用户注册时,将Illuminate/Auth/Events/Verified广播一个事件。

你可以使用这个 artisan 命令来生成一个监听器

php artisan make:listener SendWelcomeMail
Run Code Online (Sandbox Code Playgroud)

在侦听器中,您可以向handle($event)函数添加逻辑。

public function handle(Verified $event)
{
    Mail::to($event->user->email)->send(new Greeting());
}
Run Code Online (Sandbox Code Playgroud)

然后在事件中注册监听器 EventServiceProvider

protected $listen = [
    Registered::class => [
        SendEmailVerificationNotification::class,
    ],
    Verified::class => [
        SendWelcomeMail::class
    ],
];
Run Code Online (Sandbox Code Playgroud)