DEV Community

Cover image for Konfigurasi Email di Lumen 7  (2020)
AibnuHibban
AibnuHibban

Posted on

Konfigurasi Email di Lumen 7 (2020)

Assalamu'alaikum Warohmatullohi Wabarokatuh

Alhamdulillah ini adalah Artikel kedua di Dev.to ini. Kali ini saya ingin share / berbagi sedikit tentang Konfigurasi Email di lumen 7 .. So, Langsung saja

Bagi yang belum tau apa itu Lumen..

Lumen

The stunningly fast micro-framework by Laravel.

Begitulah Slogan yang di pasang di depan Halaman Resmi nya. Kurang lebih artinya Kerangka micro-framework milik Laravel yang sangat Cepat..

Lumen dikhususkan digunakan untuk membuat API dan Memiliki Struktur Folder yang sama persis seperti di Laravel .. Hanya saja di Lumen sudah tidak ada lagi Bagian - bagian yang "Berat", Seperti Views, Konfigurasi Bawaan dan lainnya..

Jika anda sudah terbiasa dengan Laravel, Menggunakan Lumen tidak akan membuat anda kesulitan

Install Lumen

Untuk Proses install anda bisa menggunakan Lumen Installer Lihat Dokumentasi

lumen new send_email
Enter fullscreen mode Exit fullscreen mode

Install Dependencies

Jalankan Perintah dibawah untuk menginstall Illuminate/mail dan guzzlehttp/guzzle yang dibutuhkan untuk mengirim Email

composer require Illuminate/mail guzzlehttp/guzzle
Enter fullscreen mode Exit fullscreen mode

Setelah selesai, buka text editor di project tersebut

⚙️ Konfigurasi

Pertama, Buat folder config lalu buat file di folder tersebut dan berikan nama mail.php
isi mail.php

<?php
return [
    'driver' => env('MAIL_DRIVER'),
    'host' => env('MAIL_HOST'),
    'port' => env('MAIL_PORT'),
    'from' => [
        'address' => env('MAIL_FROM_ADDRESS'),
        'name' => env('MAIL_FROM_NAME'),
    ],
    'encryption' => env('MAIL_ENCRYPTION'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'markdown' => [
        'theme' => 'default',
        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],
];

Enter fullscreen mode Exit fullscreen mode

Kedua, Buka file app.php di Folder bootstrap
Cari Sintaks berikut

// $app->register(App\Providers\AppServiceProvider::class);
Enter fullscreen mode Exit fullscreen mode

Lalu Uncomment "//", Sehingga menjadi

$app->register(App\Providers\AppServiceProvider::class);
Enter fullscreen mode Exit fullscreen mode

Lakukan yang sama juga dengan sintaks berikut.

$app->withFacades();
Enter fullscreen mode Exit fullscreen mode

Ketiga, Buka File AppServiceProvider yang berada di Folder app > Providers
Tambahkan Sintaks berikut di dalam function register()

        $this->app->singleton(
            'mailer',
            function ($app) {
                return $app->loadComponent('mail', 'Illuminate\Mail\MailServiceProvider', 'mailer');
            }
        );
        // Aliases
        $this->app->alias('mailer', \Illuminate\Contracts\Mail\Mailer::class);
        // Make Queue
        $this->app->make('queue');
Enter fullscreen mode Exit fullscreen mode

Keempat, Buat File .env di Root Project jika bingung cari saja .env-example lalu rename menjadi .env

Setelah itu buka link berikut . Lalu lakukan generate dengan mengubah bagian Length menjadi 32, dan copy kode yang muncul di bawahnya..

Paste ke .env bagian APP_KEY

Alt Text

Jika sudah, lalu tambahkan Kode berikut di bagian mana saja yang penting di dalam .env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=emailanda@gmail.com
MAIL_PASSWORD=passwordanda
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME=NamaPengirim
Enter fullscreen mode Exit fullscreen mode

*Ubah emailanda@gmail.com menjadi akun gmail anda
*Ubah passwordanda menjadi password akun gmail anda
*Ubah NamaPengirim sesuai keinginan anda

Konfigurasi Akun Gmail

Pergi ke Link Berikut dan pastikan anda sudah Login ke akun gmail anda yang dimasukkan ke .env yang tadi
https://myaccount.google.com/lesssecureapps
Pastikan juga anda mematikan **Verifikasi 2 Langkah*

Setelah terbuka maka turn on

❤️ Selesai

Sampai Tahap ini maka konfigurasi sudah selesai, selanjutnya bisa membaca Kirim Email di Lumen 7 (2020) - (Besok). Masih ada yang ingin ditanyakan ? Bisa diskusi di bawah 😊

Sekian Semoga Bermanfaat..

Good Luck 👊

Top comments (0)