How To : Kirim Email di Laravel Menggunakan Gmail

Ada kalanya dalam fitur web kita perlu melakukan kirim email. Namun fitur mail() bawaan php seringkali tidak terkirim seharusnya karena adanya setting atau konfigurasi server email penerima yang berbeda-beda menyebabkan email sering spam atau bahkan tidak diterima. Oleh karena itu lebih baik menggunakan konfigurasi SMTP server, dan untuk lebih mudah kita coba menggunakan SMTP server milik gmail.

Setup

Laravel memiliki dua file berbeda untuk mengkonfigurasi email yaitu config/mail.php atau file .env. Kita hanya perlu konfigurasi di salah satunya saja. Untuk ini kita coba setting di file .env.

Lalu lihat bagian :

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

edit menjadi seperti ini :

MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=ENTER_YOUR_GMAIL_USERNAME
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl

Disitu kita set mail menggunakan smtp gmail dan smtp port gmail 465 dan enkripsi ssl.

Jika sudah, kita juga perlu mengubah setting pada gmail. Login menggunakan akun google lalu klik my account. Lalu akan menampilkan seperti ini :

lalu klik Sign-in & Security

Pada halaman tersebut scroll ke bawah untuk mengaktifkan “Allow Less secure apps”

Kirim email di laravel

setelah melakukan setup diatas, disisi laravel coding yang perlu dilakukan :

$data = array(‘name’=>”Sam Jose”, “body” => “Test mail”);

Mail::send('emails.mail', $data, function($message) {
$message->to('siapa@gmail.com', 'alfach.com')
->subject('Test email dari laravel');
$message->from('fachrie@gmail.com','Achmad Fachrie');
});

pada code diatas kita menggunakan template email di resources/views/emails/email.blade.php yang yang diisi dengan template sederhana :

Hi <strong>{{ $name }}</strong>,

{{ $body }}

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *