Cara Mengirim Email di Laravel dengan SMTP Gmail

Mengirim email — untuk verifikasi akun, notifikasi, atau reset password — adalah fitur wajib di banyak aplikasi. Laravel memudahkannya lewat class Mailable. Artikel ini memandu And...

Cara Mengirim Email di Laravel dengan SMTP Gmail

Mengirim email — untuk verifikasi akun, notifikasi, atau reset password — adalah fitur wajib di banyak aplikasi. Laravel memudahkannya lewat class Mailable. Artikel ini memandu Anda mengirim email memakai SMTP Gmail dari awal.

Langkah 1: Siapkan App Password Gmail

Gmail tidak lagi mengizinkan login SMTP dengan password biasa. Anda perlu App Password:

  1. Aktifkan verifikasi 2 langkah di akun Google Anda.
  2. Buka Google Account → Security → App passwords.
  3. Buat password aplikasi baru, salin 16 karakter yang muncul.

Langkah 2: Konfigurasi .env

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=emailanda@gmail.com
MAIL_PASSWORD=app_password_16_karakter
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=emailanda@gmail.com
MAIL_FROM_NAME="Nama Aplikasi"

Setelah mengubah .env, jalankan php artisan config:clear.

Langkah 3: Buat Class Mailable

php artisan make:mail WelcomeMail

Atur isi email di app/Mail/WelcomeMail.php:

public function build()
{
    return $this->subject('Selamat Datang!')
                ->view('emails.welcome');
}

Langkah 4: Buat View Email

Buat file resources/views/emails/welcome.blade.php:

<h1>Halo, {{ $nama }}!</h1>
<p>Terima kasih sudah mendaftar di aplikasi kami.</p>

Langkah 5: Kirim Email

use Illuminate\Support\Facades\Mail;
use App\Mail\WelcomeMail;

Mail::to('penerima@email.com')->send(new WelcomeMail());

Tips: Kirim Email Lewat Queue

Mengirim email bisa lambat dan menahan response. Sebaiknya jalankan lewat queue agar halaman tetap responsif:

Mail::to($user)->queue(new WelcomeMail());

Mengatasi Error Umum

  • "Failed to authenticate": Anda memakai password biasa, bukan App Password. Gunakan App Password.
  • Connection timeout: port/enkripsi salah — gunakan port 587 dengan tls, atau 465 dengan ssl.
  • Email masuk spam: untuk produksi serius, pertimbangkan layanan seperti Mailgun atau Amazon SES dengan domain terverifikasi.

Kesimpulan

Mengirim email di Laravel cukup: buat App Password Gmail, atur .env, buat Mailable + view, lalu kirim dengan Mail::to(). Untuk performa, gunakan queue. Gmail cocok untuk pengembangan dan volume kecil; untuk skala besar, beralihlah ke layanan email khusus.

kirim email laravel laravel smtp gmail mailable laravel konfigurasi email laravel laravel mail gmail
Rekomendasi

Hosting Cepat untuk Website & Laravel

Butuh hosting yang ngebut dan stabil untuk deploy website atau aplikasi Laravel-mu? Ini rekomendasi yang saya pakai.

Lihat Rekomendasi Hosting
Yudhi
Ditulis oleh

Yudhi

Web Developer

Web developer yang sehari-hari berkutat dengan PHP, Laravel, JavaScript, dan MySQL. Terbiasa membangun aplikasi web dari nol — merancang database, menulis fitur, memburu bug, hingga deploy ke server — lalu menuangkan solusi dan tutorialnya di DhieCoderWeb agar lebih mudah diikuti developer lain.

Bagikan artikel
Kembali

Komentar (0)

Punya pertanyaan atau tambahan? Tulis di bawah — tak perlu login.

Membalas komentar… batal

Belum ada komentar. Jadilah yang pertama!

🚀 Partner Recommendation

Butuh Source Code & Aplikasi Premium?

Download aplikasi Laravel, POS, Sekolah, Klinik, ERP, dan source code siap pakai di GudangCode.

GudangCode
  • ✔ Source Code Premium
  • ✔ Sistem Siap Pakai
  • ✔ Lifetime Update
  • ✔ Membership Lifetime
  • ✔ Update Aplikasi Harian
Daftar Membership →