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:
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 protected]
- Password: app password (bukan password biasa)
Membuat Script Kirim Email dengan PHPMailer
Buat controller baru, misalnya:
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 protected]’;
$mail->Password = ‘app_password’;
$mail->SMTPSecure = ‘tls’;
$mail->Port = 587;
// Pengirim & penerima
$mail->setFrom(’[email protected]’, ‘Nama Kamu’);
$mail->addAddress(‘[email protected]’);
// 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:

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.
