# Send Welcome Email Notification with Event and Listener

## Step 1

Create `SendWelcomeEmailNotification` notification

```
php artisan make:notification SendWelcomeEmailNotification
```

## Step 2

Create `SendWelcomeEmail` listener on user registration

```
php artisan make:listener SendWelcomeEmail --event=Illuminate\Auth\Events\Registered
```

## Step 3

Open up `App\Listeners\SendWelcomeEmail.php`, add the following lines:

```php
<?php

namespace App\Listeners;

use App\Notifications\SendWelcomeEmailNotification;
use Illuminate\Auth\Events\Registered;

class SendWelcomeEmail
{
    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     *
     * @param  Registered  $event
     * @return void
     */
    public function handle(Registered $event)
    {
        $event->user->notify(
            new SendWelcomeEmailNotification()
        );
    }
}

```

## Step 4

Then register `App\Listeners\SenWelcomeEmail` to  `Illuminate\Auth\Events\Registered` in `app\Providers\EventServiceProvider.php`.

```php
protected $listen = [
    'Illuminate\Auth\Events\Registered' => [
        'App\Listeners\SendWelcomeEmail',
    ],
];
```

## Step 5

Please ensured to setup your database and emails connection, and migrate the existing migration scripts. Then create auth scaffold if not done yet.

```
php artisan migrate && php artisan make:auth
```

## Step 6

Then you're ready to register. You should receive email once registered.