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
Bagikan artikel
Kembali

Komentar (0)

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

Membalas komentar… batal

Belum ada komentar. Jadilah yang pertama!