注册时可以登录, 写了注册时触发发送激活邮件,但是没有效果。
代码如下
RegisteredListener.php
<?php
namespace App\Listeners;
use App\Notifications\EmailVerificationNotification;
use Illuminate\Auth\Events\Registered;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
// implements ShouldQueue 让这个监听器异步执行
class RegisteredListener implements ShouldQueue
{
// 当事件被触发时,对应该事件的监听器的 handle() 方法就会被调用
public function handle(Registered $event)
{
// 获取到刚刚注册的用户
$user = $event->user;
// 调用 notify 发送通知
$user->notify(new EmailVerificationNotification());
}
}
EventServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Event;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use App\Listeners\RegisteredListener;
use Illuminate\Auth\Events\Registered;
class EventServiceProvider extends ServiceProvider
{
/**
- The event listener mappings for the application.
-
@var array
*/
protected $listen = [
'App\Events\Event' => [
RegisteredListener::class,
],
];/**
- Register any events for your application.
-
@return void
*/
public function boot()
{
parent::boot();//
}
}
推荐文章: