Lompat ke konten
A alfach.com

How To : Kirim Email di Laravel Menggunakan Gmail

A alfach.com
1 menit baca 1 komentar
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 :

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

edit menjadi seperti ini :

PHP
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");

PHP
Mail::send('emails.mail', $data, function($message) {
$message->to('[email protected]', 'alfach.com')
->subject('Test email dari laravel');
$message->from('[email protected]','Achmad Fachrie');
});

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

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

{{ $body }}

Bacaan terkait

php

Menerapkan IP Blocker di Laravel

Untuk meningkatkan security di website, salah satunya dengan menerapkan IP blocker atau mem-blokir IP address yang mengakses website. Di laravel salah satunya dengan...

1 menit

Komentar (1)

S
satria hadi
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

Tulis komentar

Komentar akan dimoderasi sebelum tampil.

Tidak akan dipublikasikan.