Konfigurasi Email di Lumen 7  (2020)
Tags: lumen, email, leenuksid
Published: 2020-08-30 15:18:05

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](https://lumen.laravel.com/) 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](https://lumen.laravel.com/docs/7.x#installing-lumen)
```bash
lumen new send_email
```
## Install Dependencies
Jalankan Perintah dibawah untuk menginstall **[Illuminate/mail](https://packagist.org/packages/illuminate/mail)** dan **[guzzlehttp/guzzle](https://packagist.org/packages/guzzlehttp/guzzle)** yang dibutuhkan untuk mengirim Email
```bash
composer require Illuminate/mail guzzlehttp/guzzle
```
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
<?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'),
        ],
    ],
];

```
**Kedua**, Buka file app.php di Folder bootstrap
Cari Sintaks berikut
```php
// $app->register(App\Providers\AppServiceProvider::class);
```
Lalu Uncomment "//", Sehingga menjadi
```php
$app->register(App\Providers\AppServiceProvider::class);
```
Lakukan yang sama juga dengan sintaks berikut.

```php
$app->withFacades();
```

**Ketiga**, Buka File AppServiceProvider yang berada di Folder **app > Providers**
Tambahkan Sintaks berikut di dalam function register()
```php
        $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');
```
**Keempat**, Buat File .env di **Root Project** jika bingung cari saja .env-example lalu rename menjadi .env

Setelah itu buka link [berikut](http://www.unit-conversion.info/texttools/random-string-generator/) . Lalu lakukan generate dengan mengubah bagian Length menjadi 32, dan copy kode yang muncul di bawahnya.. 

Paste ke .env bagian APP_KEY

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6t730ilm2s9utkdrsxzt.png)

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
```
*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 👊