HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Cara Mengirim Email SMTP di Laravel dengan PHPMailer (Tutorial Lengkap & Mudah)

Pengiriman email merupakan fitur penting dalam sebuah aplikasi web, seperti untuk verifikasi akun, notifikasi, hingga reset password. Dalam framework Laravel, sebenarnya sudah tersedia fitur mail bawaan. Namun, dalam beberapa kasus, developer memilih menggunakan library tambahan seperti PHPMailer karena lebih fleksibel dan mudah dikustomisasi.

Pada artikel ini, kita akan membahas cara menggunakan PHPMailer untuk mengirim email SMTP di Laravel secara lengkap dan mudah dipahami, bahkan untuk pemula.

Apa Itu PHPMailer?

PHPMailer adalah library populer berbasis PHP yang digunakan untuk mengirim email melalui SMTP dengan konfigurasi yang lebih lengkap dibandingkan fungsi mail() bawaan PHP. Library ini banyak digunakan oleh developer karena kemampuannya yang lebih fleksibel dan andal dalam menangani pengiriman email.

PHPMailer mendukung berbagai fitur penting seperti SMTP authentication, penggunaan enkripsi SSL/TLS untuk keamanan, serta kemampuan mengirim attachment file. Selain itu, PHPMailer juga dikenal lebih stabil dan memiliki sistem error handling yang lebih jelas, sehingga memudahkan proses debugging ketika terjadi kesalahan dalam pengiriman email.

Alasan Menggunakan PHPMailer di Laravel

Meskipun Laravel sudah menyediakan fitur pengiriman email bawaan yang cukup lengkap, banyak developer tetap memilih menggunakan PHPMailer karena menawarkan fleksibilitas yang lebih tinggi. PHPMailer memungkinkan pengaturan konfigurasi yang lebih bebas sesuai kebutuhan, terutama untuk proyek dengan kebutuhan khusus atau custom script.

Selain itu, proses debugging juga menjadi lebih mudah karena pesan error yang ditampilkan lebih jelas dan detail. Keunggulan lainnya, PHPMailer dapat digunakan secara terpisah di luar sistem Laravel Mail, sehingga cocok bagi developer yang ingin solusi pengiriman email yang lebih mandiri dan tidak terlalu bergantung pada fitur bawaan framework.

Persiapan Sebelum Memulai

Pastikan kamu sudah memiliki:

  • Laravel terinstall
  • Composer aktif
  • Akun SMTP (Gmail, Outlook, atau hosting)

Install PHPMailer di Laravel

Masuk ke folder project Laravel, lalu jalankan perintah berikut:

composer require phpmailer/phpmailer

Setelah itu, PHPMailer akan otomatis terpasang di project kamu.

Konfigurasi SMTP

Berikut contoh konfigurasi SMTP menggunakan Gmail:

  • Host: smtp.gmail.com
  • Port: 587
  • Encryption: TLS
  • Username: email@gmail.com
  • Password: app password (bukan password biasa)

Membuat Script Kirim Email dengan PHPMailer

Buat controller baru, misalnya:

php artisan make:controller MailController

Lalu isi dengan script berikut:

<?php

namespace App\Http\Controllers;

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

class MailController extends Controller
{
public function sendEmail()
{
$mail = new PHPMailer(true);

try {
// Konfigurasi SMTP
$mail->isSMTP();
$mail->Host = ‘smtp.gmail.com’;
$mail->SMTPAuth = true;
$mail->Username = ’email@gmail.com’;
$mail->Password = ‘app_password’;
$mail->SMTPSecure = ‘tls’;
$mail->Port = 587;

// Pengirim & penerima
$mail->setFrom(’email@gmail.com’, ‘Nama Kamu’);
$mail->addAddress(‘tujuan@gmail.com’);

// Konten email
$mail->isHTML(true);
$mail->Subject = ‘Test Email Laravel PHPMailer’;
$mail->Body = ‘<h3>Email berhasil dikirim!</h3>’;

$mail->send();

return “Email berhasil dikirim!”;
} catch (Exception $e) {
return “Email gagal dikirim. Error: {$mail->ErrorInfo};
}
}
}

Menambahkan Route

Tambahkan route berikut di file web.php:

use App\Http\Controllers\MailController;

Route::get(‘/send-email’, [MailController::class, ‘sendEmail’]);

Akses di browser:

http://localhost:8000/send-email

Tips Menggunakan SMTP Gmail

Jika menggunakan Gmail:

  • Aktifkan 2-Step Verification
  • Gunakan App Password
  • Jangan gunakan password email utama

Kelebihan dan Kekurangan PHPMailer

1. Kelebihan:

  • Mudah digunakan
  • Dokumentasi lengkap
  • Support banyak fitur email
  • Cocok untuk custom kebutuhan

2. Kekurangan:

  • Tidak terintegrasi langsung dengan Laravel
  • Perlu setup manual
  • Tidak sepraktis Laravel Mail

Alternatif Selain PHPMailer di Laravel

Jika tidak ingin menggunakan PHPMailer, kamu bisa memakai:

  • Laravel Mail (bawaan Laravel)
  • SwiftMailer (deprecated tapi pernah populer)
  • Symfony Mailer

Kesimpulan

Menggunakan PHPMailer di Laravel adalah solusi alternatif yang fleksibel untuk mengirim email melalui SMTP, terutama jika kamu membutuhkan kontrol lebih dalam konfigurasi dan pengiriman email. Dengan setup yang cukup sederhana, kamu sudah bisa mengirim email secara aman dan profesional.

Jika kamu ingin menjalankan aplikasi Laravel dengan performa maksimal, pastikan menggunakan layanan hosting yang cepat dan stabil. Kamu bisa mengunjungi Hosteko.com untuk mendapatkan layanan domain dan hosting terpercaya. Selain itu, jangan lupa juga untuk membaca berbagai tutorial menarik lainnya di Blog Hosteko yang membahas seputar website, hosting, dan pengembangan web secara lengkap dan mudah dipahami.

5/5 - (1 vote)
Fitri Ana

Recent Posts

Yahoo Masih Ada Gak Sih? Fakta Keberadaan Yahoo di Era Digital Sekarang

Bagi pengguna internet era awal 2000-an, nama Yahoo tentu bukan hal asing. Di masa ketika…

13 minutes ago

Apa Itu XSS? Cara Kerja, Dampak, dan Cara Mencegahnya pada Website

Di era digital modern, website tidak lagi hanya berfungsi sebagai media informasi, tetapi juga menjadi…

2 hours ago

Apa Itu Website Maintenance? Pentingnya Perawatan Website di Era Digital

Perkembangan website di era digital mengalami peningkatan yang sangat pesat. Saat ini, website tidak hanya…

20 hours ago

Mengenal Flowchart: Pengertian, Simbol, dan Cara Membuatnya

Dalam dunia pemrograman, bisnis, hingga manajemen proyek, kita sering dihadapkan pada proses yang kompleks. Untuk…

23 hours ago

Apa Itu OOP? Panduan Lengkap Object-Oriented Programming untuk Pemula

Perkembangan dunia pemrograman modern mengalami perubahan yang sangat pesat seiring meningkatnya kebutuhan akan aplikasi digital,…

1 day ago

Mengatasi Error Credentials Saat Publish Weebly [Lengkap]

Platform website builder seperti Weebly dikenal karena kemudahannya dalam membuat dan mempublikasikan website tanpa perlu…

1 day ago