BLANTERORIONv101

Kirim Email Notification dengan Laravel 9

27 Juli 2022

Pada artikel kali ini saya akan membagikan sebuah tutorial tentang Email Notification dengan Laravel. Dengan menggunakan notification email pada aplikasi, kita dapat mengirim pesan selamat datang atau welcome kepada pengguna yang baru daftar di aplikasi kita. Dengan begitu, akan membuat kita lebih dekat dengan pengguna dan terkesan lebih ramah kepada pengguna di aplikasi kita.

Disini saya akan membuat tutorial ini pada aplikasi yang sudah jadi, bagi teman-teman yang belum memiliki aplikasi laravel silahkan baca-baca dulu di Cara Membuat Aplikasi Dasar Laravel.


Langkah 1. Konfigurasi Email

Pada langkah pertama kita pelu untuk melakukan konfigurasi email pada file .env. Kita akan melakukan proses pengiriman email menggunakan Gmail jadi silahkan ikuti konfigurasi di bawah ini.

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=email-anda@mail.com
MAIL_PASSWORD=sandiaplikasiemail
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="email-anda@mail.com"
MAIL_FROM_NAME="${APP_NAME}"

Silahkan baca Cara Menggunakan SMTP Gmail Pada Laravel apabila Anda belum paham tentang konfigurasi di atas.

Langkah 2. Generate Notification

Selanjutnya kita akan membuat notification class menggunakan perintah seperti dibawah ini :

php artisan make:notification WelcomeEmailNotification


Dengan menjalankan perintah diatas kita akan mendapatkan sebuah file WelcomeEmailNotification.php pada direktori app/Notifications.

Langkah 3. Custom RegisterController

Pada bagian ini kita perlu untuk mengkustom RegisterController.php pada direktori app/Http/Controllers/Auth. Yang akan kita kustom adalah bagian protected function create seperti dibawah ini.

protected function create(array $data)
    {
        $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);

        $user->notify(new WelcomeEmailNotification($user));
        return $user;
    }


Sampe di langkah ini penguna sudah bisa untuk mendapatkan notification dari aplikasi kita setelah melakukan pendaftaran, namum kita perlu untuk mengkustom email notification tersebut pada langkah 4.

Langkah 4. Custom Email Notification

Setelah menjalankan perintah pada langkah 2 di atas, kini  kita memliki sebuah file  WelcomeEmailNotification.php pada direktori app/Notifications. Silahkan kustom seperti dibawah ini.

<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use App\Models\User;

class WelcomeEmailNotification extends Notification
{
    use Queueable;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['mail'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->greeting('Hello, '.$this->user->name)
                    ->line('Welcome to Sarjana IT.')
                    ->action('Explore', url('/'))
                    ->line('Thank you for using our application!');
    }

    /**
     * Get the array representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function toArray($notifiable)
    {
        return [
            //
        ];
    }
}


*Penjelasan. 

Pada file RegisterController.php di atas kita sudah tambahkan variabel $user dan kita telah mengurai data ke email dengan menggunakan $user->notify(new WelcomeEmailNotification($user));

Kini dapat menambahkan variabel $user pada file WelcomeEmailNotification.php untuk mendapatkan data nama pengguna yang telah di input pada saat regsiter.

Kirim Email Notification dengan Laravel 9
Gambar 1. Hasil Uji

Oke teman-teman, kurang lebih seperti itu tutorial tentang Kirim Email Notification dengan Laravel. Semoga artikel ini dapat membantu teman-teman semua yang membutuhkan, jika ada pertanyaan silahkan bertanya pada kolom komentar dibawah.

Komentar