~ We are changing the world with technology. ~

Matt Mullenweg

Mengirim Email Notifikasi Menggunakan SMTP Gmail Laravel 8

Mengirim Email Notifikasi Menggunakan SMTP Gmail Laravel 8

245 Dilihat

Pendahuluan

Mengirim email notifikasi adalah sebuah fitur yang hampir semua aplikasi mengimplementasikannya, karena melalui email adalah cara paling umum dan formal untuk menyampaikan informasi kepada orang lain. Adapun dalam membuat fitur ini, terkadang sebagai developer, apatah lagi bagi mereka yang belum memiliki akses ke mail server pribadi, maka akan sangat kesulitan untuk melakukan uji coba.

Melalui artikel ini, kita akan menyelesaikan masalah tersebut dengan menggunakan SMTP dari Gmail sebagai mail server.

Baca Juga: Membuat CRUD Laravel 8 Jetstream Livewire

Konfigurasi & Kirim Email Notifikasi

Tahap pertama, install Laravel 8 terlebih dahulu dengan command

composer create-project --prefer-dist laravel/laravel laravel8-email

Apabila proses instalasi sudah selesai, buka file .env dan modifikasi bagian konfigurasi email menjadi seperti berikut

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=passwordgoogleanda
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="${APP_NAME}"

Tugas berikutnya adalah membuat mailable class, pada command line, jalankan artisan

php artisan make:mail PostMail

Kemudian buka file app/Mail/PostMail.php dan modifikasi menjadi

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class PostMail extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
  
  	//ADA DUA PARAMETER YANG AKAN KITA TERIMA, PERTAMA ADALAH JUDUL ARTIKEL DAN YANG KEDUA ADALAH NAMA PENERIMA
    public $title;
    public $name;
    public function __construct($title, $name)
    {
        $this->title = $title;
        $this->name = $name;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->subject('Postingan Baru Daengweb.id')->view('emails.posts');
    }
}

Mailable class di atas me-load file posts.blade.php. Buat file tersebut di dalam folder resources/views/emails dan tambahkan code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Postingan Baru</title>
</head>
<body>
    <h4>Hai, {{ $name }}</h4>
    <p>Ada postingan baru dengan judul: <strong>{{ $title }}</strong></p>
</body>
</html>

Saatnya menggunakan mailable class ini untuk mengirim email notifikasi bahwa ada artikel baru yang telah diterbitkan. Buka file routes/web.php dan modifikasi routing yang ada menjadi

Route::get('/', function () {
    \Mail::to('[email protected]')
        ->send(new \App\Mail\PostMail('Mengirim Email Menggunakan Gmail SMTP Laravel 8', 'Anugrah Sandi'));
    return 'Terkirim';
});

Kok penerimanya statis? Yaps, karena tujuan artikel ini adalah menjelaskan bagaimana menggunakan SMTP Gmail sebagai mail server. Lalu, sebagai langkah terakhir, saatnya bagi kita untuk melakukan sedikit konfigurasi security dari gmail agar bisa menggunakan SMTP-nya.

Buka Google Account dan sorot kebagian security, lalu turn on access untuk mengizinkan akses dari luar.

mengirim email laravel 8 menggunakan gmail

Setelah semua proses di atas selesai, tiba saatnya bagi kita untuk melakukan proses testing. Akses aplikasi anda, jika menggunakan php artisan serve, maka akses http://localhost:8000 dan secara otomatis fungsi untuk mengirim email menggunakan SMTP Gmail di Laravel 8 akan dijalankan.

email notifikasi laravel 8

Full Stack Developer & Remote Worker salah satu perusahaan asal Australia. Senang dengan teknologi baru. Laravel addict yang tidak fanatik. Merekam jejak dengan menulis

Drag & Drop Upload File Dropzone di Laravel 8 Laravel

Drag & Drop Upload File Dropzone di Lara...

Salah satu fitur yang cukup penting lainnya adalah upload files yang terdiri dari gambar, document, dan lain sebagainya yang berperan sebagai pelengkap data. Dropzone hadir sebagai salah satu library...

Membuat CRUD Laravel 8 & Jetstream Livewire Laravel

Membuat CRUD Laravel 8 & Jetstream Livew...

Laravel hadir dengan versi baru beserta teknologinya yang baru, sebut saja Jetstream dengan opsi yang ditawarkannya, yakni: Livewire dan Inertia. Melalui artikel ini kita akan membahas bagaimana membu...

Membuat Login & Register Laravel 8 Laravel

Membuat Login & Register Laravel 8

Laravel tak henti-hentinya memperkaya fitur yang dimilikinya untuk "memanjakan" penggunanya. Lain sisi, Laravel memberikan pesan tersirat, bahwasanya sebagai orang yang "nyemplung" dibidang teknologi,...

Komentar