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 }}

Tulisan Lain   PHP Security Checklist (Cheatsheet)

Tagged : # #

One thought on “How To : Kirim Email di Laravel Menggunakan Gmail”

  1. mau tanya, kenapa ya atirbut from selalu diisi alamat email dari .env, padahal di aplikasi sudah saya sebutkan from nya dari alamat email yg lain. terima kasih

Leave a Reply

Your email address will not be published. Required fields are marked *